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


Related articles: