=====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