How to create LVM details of XFS file system under Ubuntu
- 2020-12-05 17:31:21
- OfStack
preface
lvm(Logical Volume Manager) logical volume management, can meet the linux system to dynamically adjust the size of each partition, to meet the needs of the server in different runtime.
Before in Linux below play LVM, 1 generally is the choice of ext3, ext4 format file system, recently in Ubuntu 16.04.5 installation configuration 1 MySQL database server, then tested 1 XFS file system LVM, in fact, carefully compared, the difference is not big, just the difference between the file format and the system adjustment command. Many of the following areas are not explained too much, but simply document the test process.
Add 1 new disk to the test server, as shown below, /dec/sdc
root@mylnx12:~# fdisk -l
Disk /dev/sdb: 605 GiB, 649613803520 bytes, 1268776960 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2c2c38b3
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 1268774911 1268772864 605G 7 HPFS/NTFS/exFAT
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6e2369f9
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 62914526 62912479 30G 83 Linux
Disk /dev/sdc: 1023 GiB, 1098437885952 bytes, 2145386496 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x030b81c8
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 2145386495 2145384448 1023G 83 Linux
# create PV
root@mylnx12:~# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created
root@mylnx12:~# pvscan
PV /dev/sdc1 lvm2 [1023.00 GiB]
Total: 1 [1023.00 GiB] / in use: 0 [0 ] / in no VG: 1 [1023.00 GiB]
# create VG
root@mylnx12:~# vgcreate -s 32M VolGroup01 /dev/sdc1
Volume group "VolGroup01" successfully created
# new LV
root@mylnx12:~# lvcreate -L +400G -n LogVol00 VolGroup01
WARNING: xfs signature detected on /dev/VolGroup01/LogVol00 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/VolGroup01/LogVol00.
Logical volume "LogVol00" created.
root@mylnx12:~# lvscan
ACTIVE '/dev/VolGroup01/LogVol00' [400.00 GiB] inherit
# formatting
root@mylnx12:~# mkfs.xfs /dev/VolGroup01/LogVol00
meta-data=/dev/VolGroup01/LogVol00 isize=512 agcount=4, agsize=26214400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0
data = bsize=4096 blocks=104857600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=51200, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# Mount point Settings
root@mylnx12:~# mkdir /mysql_data
root@mylnx12:~# mount -t xfs /dev/VolGroup01/LogVol00 /mysql_data
root@mylnx12:~# vgdisplay
--- Volume group ---
VG Name VolGroup01
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 1022.97 GiB
PE Size 32.00 MiB
Total PE 32735
Alloc PE / Size 12800 / 400.00 GiB
Free PE / Size 19935 / 622.97 GiB
VG UUID 8kutIc-bjId-rNWK-UCHo-TU2l-xkwa-idBXCj
# Create another 1 a LV
root@mylnx12:~# lvcreate -l 19935 -n LogVol01 VolGroup01
Logical volume "LogVol01" created.
root@mylnx12:~# mkfs.xfs /dev/VolGroup01/LogVol01
meta-data=/dev/VolGroup01/LogVol01 isize=512 agcount=4, agsize=40826880 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0
data = bsize=4096 blocks=163307520, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=79740, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
root@mylnx12:~# mkdir /mysql_backup
root@mylnx12:~# mount -t xfs /dev/VolGroup01/LogVol01 /mysql_backup/
root@mylnx12:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 6.9G 0 6.9G 0% /dev
tmpfs 1.4G 8.6M 1.4G 1% /run
/dev/sda1 30G 2.1G 27G 8% /
tmpfs 6.9G 0 6.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 6.9G 0 6.9G 0% /sys/fs/cgroup
/dev/sdb1 596G 70M 566G 1% /mnt
tmpfs 1.4G 0 1.4G 0% /run/user/1000
/dev/mapper/VolGroup01-LogVol00 400G 441M 400G 1% /mysql_data
/dev/mapper/VolGroup01-LogVol01 623G 668M 623G 1% /mysql_backup
Modify the configuration file /etc/fstab to add the following configuration information to it, as shown below, for permanent storage to ensure that the relevant mount point information is not lost on the next boot.
UUID="a72bd3f8-eb2d-40cb-92c3-d5e32c30d5ff" /mysql_data xfs defaults 0 2
UUID="33325d87-f3f4-4215-abf7-ee795724697e" /mysql_backup xfs defaults 0 2
In addition, ext2 ext3 / ext4 file system adjustment is resize2fs (increase and decrease both support), and adjustment of XFS file system command is xfs_growfs (only support increase), obviously reduce the words, of course, can only be reduced to a logical partition again by mkfs. xfs command to reformat to mount, so the logical partitions on the original data is lost. It doesn't really make any sense.
Resources:
https://www.ofstack.com/article/148553.htm
conclusion