Site icon Ron Ekins' – Oracle Technology, DevOps and Kubernetes Blog

How to create Oracle Linux partitions greater than 2TB

Oracle Linux

Background

Following the recent announcement by Oracle on the de-support, and deprecation of the Oracle ASM Filter Driver (ASMFD).

See Note: Oracle Automatic Storage Management Filter Driver (ASMFD) (Doc ID 2806979.1)

I am starting to more interest in the use of Oracle ASMLib v3.1 for long term Oracle support, and also for the io_uring, and Thin Provisioning features.

For those, who want to read-up on the Oracle ASMLIB v3.1, I have already written a blog post detailing how to Install, Configure and use Oracle ASMLib v3.1.

When discussing the Oracle ASMLib, one question which I get is around the need of a single partition for Oracle ASMLib v3.1 ?

Both the Oracle Database 19c Configuring Disk Devices to Use Oracle ASMLIB and 23c documentation state:

To include devices in a disk group, you can specify either whole-drive device names or partition device names.

The Oracle documentation also states:

Oracle recommends that you create a single whole-disk partition on each disk to use.

Environment

I have been using the Oracle ASM Filter Drive (ASMFD) with whole-drive device names, no partitions, and this is a still an option for Oracle ASMLib v3.1. However, following Oracle recommendations is strongly advised, so I will migrate to use single whole-disk partitions.

Within my lab, I am presenting multiple 10TB Pure Storage FlashArray volumes to my Oracle Database 19c RAC cluster, with multipath configured on my Oracle Linux 9 database servers.

Check Disk Partition Type

Calling fdisk <device> from the command line we can see the following message: DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).

fdisk <multipath device>

Update using fdisk

Fortunately, we can use fdisk <device> to change the Disklabel to GPT, by using g create a new empty GPT partition table, as below.

fdisk <device> g

Update Using parted

Alternatively, using parted <device> print to see the Partition Table setting.

parted <multipath device>

And set Partition using parted <device> mklabel gpt, for example.

# parted /dev/mapper/dg_data08 mklabel gpt
parted <device> mklabel gpt

Create Whole-Disk Partition

We can now use fdisk or parted to create a whole-disk partition, for example using parted.

# parted /dev/mapper/dg_data08 mkpart gpt 0% 100%
parted <device> mkpart gpt 0% 100%

In this example I can ignore the Information message, as I will be using the disk for Oracle ASM.

Confirm Whole-Disk Partition

Using fdisk -l we can now see the Disklabel type is set to gpt and we have a single whole-disk partition.

fdisk -l <device>

And again using parted print

# parted /dev/mapper/dg_data08 print
parted <device> print

Using the Linux List Block lsblk command we can see the mpath and partition.

lsblk <device>

Summary

In this blog I have shared how to create a whole-disk Oracle Linux 9 partition larger than 2TB by using the GUID partition table format (GPT).

If you have Oracle database using whole-devices and want to migrate to whole-partition disks, check-out one of my previous blogs where I show to perform storage migrations using Oracle ASM.

Exit mobile version