Prepare new disk devices for ASM with ASMLib - denis-kol4ev/OraDBA GitHub Wiki
# lsblk -f
# lsblk -f /dev/sdm
fdisk
# fdisk -l /dev/sdm
# fdisk /dev/sdm
Enter following answers for fdisk:
n - p - 1 - enter - enter - w
parted
# parted -s -a optimal /dev/sde mklabel gpt mkpart primary 0% 100%
What partition table should use?
В зависимости от типа таблицы разделов (partition table) размер создаваемой партиции на диске может отличаться. Поэтому в ASM группе на всех устройствах необходимо создавать таблицы разделов одинакового типа.
parted -s -a optimal /dev/sdl mklabel msdos mkpart primary 0% 100%
parted -s -a optimal /dev/sdl mklabel gpt mkpart primary 0% 100%
Пример
[root@angel ~]# lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,MOUNTPOINT /dev/sdl
NAME SIZE TYPE FSTYPE LABEL MOUNTPOINT
sdl 20G disk
[root@angel ~]# lsblk -b -o NAME,SIZE,TYPE,FSTYPE,LABEL,MOUNTPOINT /dev/sdl
NAME SIZE TYPE FSTYPE LABEL MOUNTPOINT
sdl 21474836480 disk
[root@angel ~]# parted -s -a optimal /dev/sdl mklabel msdos mkpart primary 0% 100%
[root@angel ~]# lsblk -b -o NAME,SIZE,TYPE,FSTYPE,LABEL,MOUNTPOINT /dev/sdl
NAME SIZE TYPE FSTYPE LABEL MOUNTPOINT
sdl 21474836480 disk
└─sdl1 21473787904 part
[root@angel ~]# parted /dev/sdl rm 1
Information: You may need to update /etc/fstab.
[root@angel ~]# lsblk -b -o NAME,SIZE,TYPE,FSTYPE,LABEL,MOUNTPOINT /dev/sdl
NAME SIZE TYPE FSTYPE LABEL MOUNTPOINT
sdl 21474836480 disk
[root@angel ~]#
[root@angel ~]# parted -s -a optimal /dev/sdl mklabel gpt mkpart primary 0% 100%
[root@angel ~]# lsblk -b -o NAME,SIZE,TYPE,FSTYPE,LABEL,MOUNTPOINT /dev/sdl
NAME SIZE TYPE FSTYPE LABEL MOUNTPOINT
sdl 21474836480 disk
└─sdl1 21472739328 part
[root@angel ~]#
Итоговая разница в размере партиций 21473787904 - 21472739328 = 1048576 / 1024 / 1024 = 1mb
Узнать какой тип таблицы разделов на диске
[root@angel ~]# parted /dev/sdl print | grep "Partition"
Partition Table: gpt
NOTE
Script for steps 1 and 2, it's check that disk device is not used and print command for parted
# for i in $(lsblk -sdo NAME,FSTYPE,TYPE | awk '{if ($0 ~ /disk/) {print $1}}'); do lsblk -f /dev/$i; lsblk -o NAME,SIZE,TYPE,MOUNTPOINT /dev/$i; printf "%s\n%s\n\n" "CREATE PARTITION COMMAND" "parted -s -a optimal /dev/$i mklabel gpt mkpart primary 0% 100%"; done
for multipath devices
for i in $(lsblk -sdo NAME,FSTYPE,TYPE | egrep "mpath$" | awk '{if ($0 ~ /mpath/) {print $1}}'); do lsblk -f /dev/mapper/$i; lsblk -o NAME,SIZE,TYPE,MOUNTPOINT /dev/mapper/$i; printf "%s\n%s\n\n" "CREATE PARTITION COMMAND" "parted -s -a optimal /dev/mapper/$i mklabel gpt mkpart primary 0% 100%"; done
fdisk
# fdisk -l /dev/sdm
# lsblk -f /dev/sdm
parted
# parted /dev/sde unit gib print
# lsblk -f /dev/sde
# oracleasm listdisks
# oracleasm createdisk DATA10 /dev/sdm1
# oracleasm querydisk /dev/sdm1
# ls -l /dev/oracleasm/disks
# oracleasm listdisks