=====LVM Filesystem xfs für die Datenbank anlegen und erweitern=====
Aufgabe:
Für die Daten Dateien der Oracle Datenbank soll eine eigene Platte mit dem Filesystem XFS konfiguriert und unter /opt/oracle/ora_data eingehängt werden.
Hier ist zu überlegen, welches Dateisystem gewählt werden kann, ext4 oder xfs z.B.
Siehe auch:
* https://myvirtualcloud.net/ext4-vs-xfs-for-oracle-which-performs-better/
----
==== Neu Anlegen ====
Datenplatte anlegen:
# Partitonieren
fdisk /dev/nvme0n2
n --new
p --primary
1
return
t -- define type
8e -- Linux lvm
w -- write
LVM anlegen
ls /dev/nvme0n2*
pvcreate /dev/nvme0n2p1
Physical volume "/dev/nvme0n2p1" successfully created.
vgcreate vg_ora_db /dev/nvme0n2p1
Volume group "vg_ora_db" successfully created
lvcreate -L +29G -n xfs_db vg_ora_db
Logical volume "xfs_db" created.
ls -la /dev/vg_ora_db
Filesystem erzeugen
mkfs.xfs /dev/vg_ora_db/xfs_db
# Einhängen
mkdir /opt/oracle/oradata
mount /dev/vg_ora_db/xfs_db /opt/oracle/oradata
df -h
mount | grep oradata
chown -R oracle:oinstall /opt/oracle/oradata
#testen als user oracle!
touch /opt/oracle/oradata/ora_data_disk_space.txt
# Permanent hinterlegen
vi /etc/fstab
/dev/mapper/vg_ora_db-xfs_db /opt/oracle/oradata xfs defaults 0 0
testen mit:
umount /opt/oracle/oradata
mount /opt/oracle/oradata
#testen als user oracle!
touch /opt/oracle/oradata/ora_data_disk_space.txt
siehe auch => https://www.linuxtechi.com/create-extend-xfs-filesystem-on-lvm/
----
==== Erweitern ====
Ist am Ende die Platte zu klein und haben wir die Möglichkeit die Lun dahinter zu Vergrößerern kann das ganze erweitert werden.
Ablauf:
* Welcher Mount Point ist betroffen
df -kh /opt/oracle/oradata
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_ora_db-xfs_db 29G 8.8G 21G 31% /opt/oracle/oradata
* Das Volumen anzeigen lassen mit pvdisplay
pvdisplay
--- Physical volume ---
PV Name /dev/sdb5
VG Name vg_ora_db
PV Size <30.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 7679
Free PE 255
Allocated PE 7424
PV UUID 8neG5p-BmTB-Z1ZA-uhom-7WmX-FkPp-tYrlPl
* Das SCSI Device ermitteln und neu einlesen lassen
ls -la /dev/sdb*
brw-rw---- 1 root disk 8, 16 Jul 30 17:23 /dev/sdb
brw-rw---- 1 root disk 8, 17 Jul 30 17:23 /dev/sdb1
brw-rw---- 1 root disk 8, 21 Jul 30 17:23 /dev/sdb5
ls -ld /sys/block/sd*/device
lrwxrwxrwx 1 root root 0 May 20 2019 /sys/block/sda/device -> ../../../0:0:0:0
lrwxrwxrwx 1 root root 0 May 20 2019 /sys/block/sdb/device -> ../../../0:0:1:0
lrwxrwxrwx 1 root root 0 May 20 2019 /sys/block/sdc/device -> ../../../0:0:2:0
#Rescan anschieben mit: ( auf die ID zum richtigen Device achten!)
echo 1 > /sys/class/scsi_device/0:0:1:0/device/rescan
#auch mit Partprobe neu einlesen lassen
partprobe
* Datenbank stoppen und prüfen das nichts auf das Filesystem zugreift
su - oracle
sqlplus / as sysdba
>shutdown immediate
>exit
lsof +d "/opt/oracle/oradata"
exit
* Partition erweitern mit parted
parted
GNU Parted 3.1
...
(parted) select /dev/sdb
Using /dev/sdb
(parted) unit s
(parted) print free
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 1677721600s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 63s 1258291199s 1258291137s extended
5 126s 1258291199s 1258291074s logical lvm
1258291200s 1677721599s 419430400s Free Space
(parted) resizepart
Partition number? 1
End? [1258291199s]? 1677721599s (Wert aus der End Spalte vom freien Bereich verwenden!)
(parted) resizepart
Partition number? 5
End? [1258291199s]? 1677721599s (Wert aus der End Spalte vom freien Bereich verwenden!)
(parted) print free
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 1677721600s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 63s 1677721599s 1677721537s extended
5 126s 1677721599s 1677721474s logical lvm
* Volumnen vergrößeren pvresize und Verwendung anpassen lvresize
pvresize /dev/sdb5
Physical volume "/dev/sdb5" changed
pvdisplay /dev/sdb5
--- Physical volume ---
PV Name /dev/sdb5
VG Name vg_ora_db
PV Size <30.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 7679
Free PE 255
Allocated PE 7424
PV UUID 8neG5p-BmTB-Z1ZA-uhom-7WmX-FkPp-tYrlPl
ls -ls /dev/vg_ora_db/xfs_db
0 lrwxrwxrwx 1 root root 7 Jul 30 21:06 /dev/vg_ora_db/xfs_db -> ../dm-2
lvresize -l +100%FREE /dev/vg_ora_db/xfs_db
Size of logical volume vg_ora_db/xfs_db changed from <600.00 GiB (153599 extents) to <800.00 GiB (204799 extents). Logical volume datendom0/daten successfully resized.
* Datensystem vergrößern xfs_repair/xfs_growfs
#prüfen das nichts auf dem Filesystem geöffnet ist
lsof +d "/opt/oracle/oradata"
umount /dev/vg_ora_db/xfs_db
xfs_repair -n /dev/vg_ora_db/xfs_db
mount /opt/oracle/oradata
xfs_growfs opt/oracle/oradata
meta-data=/dev/mapper/vg_ora_db-xfs_db isize=512 agcount=7, agsize=26214144 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=157285376, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=51199, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 157285376 to 209714176
#prüfen
df -h
/dev/mapper/vg_ora_db-xfs_db 800G 584G 217G 73% /opt/oracle/oradata