How to create LVM for XFS file system in Ubuntu

How to create LVM for XFS file system in Ubuntu

Preface

lvm (Logical Volume Manager) logical volume management can meet the needs of the Linux system to dynamically adjust the size of each partition to meet the needs of the server in different operating periods.

When I used to play with LVM under Linux, I usually chose ext3 or ext4 file systems. Recently, I installed and configured a MySQL database server under Ubuntu 16.04.5, so I tested LVM of the XFS file system. In fact, after careful comparison, there is not much difference, just the difference in file formatting and the adjustment commands of the file system. There is no need to explain too much in the following places, just simply record the test process.

Add a new disk on the test server, as shown below. The new disk is /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
 
#Add 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
 
#Format 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 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 and add the following configuration information to it, as shown below, so that it can be saved permanently to ensure that the relevant mount point information is not lost at 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, the adjustment command for the ext2/ext3/ext4 file system is resize2fs (supports both increase and decrease), while the adjustment command for the XFS file system is xfs_growfs (only supports increase). Of course, if you insist on reducing the size, you can only reformat the logical partition through the mkfs.xfs command after reducing it before you can mount it. In this case, the original data on the logical partition will be lost. It doesn't really make any sense.

References:

https://www.jb51.net/article/148553.htm

Summarize

The above is the full content of this article. I hope that the content of this article will have certain reference learning value for your study or work. If you have any questions, you can leave a message to communicate. Thank you for your support for 123WORDPRESS.COM.

You may also be interested in:
  • Tutorial on adjusting the size of lvm logical volume partition in Linux (for different file systems such as xfs and ext4)
  • Using XFS file system in Linux environment
  • Detailed steps to create a Linux LVM snapshot (completed using PE)
  • Creating LVM in Linux character interface installation mode
  • LVM disk expansion problem in Centos7 in Linux
  • Steps to create lvm and mount it to a specified directory under Linux system

<<:  Notes on element's form components

>>:  Use of hasOwnProperty method of js attribute object

Recommend

Software Testing - MySQL (VI: Database Functions)

1.MySQL functions 1. Mathematical functions PI() ...

Vue globally introduces scss (mixin)

Table of contents 1. mixin.scss 2. Single file us...

Mysql splits string into array through stored procedure

To split a string into an array, you need to use ...

What is WML?

WML (Wireless Markup Language). It is a markup la...

Detailed process of upgrading glibc dynamic library in centos 6.9

glibc is the libc library released by gnu, that i...

How to install grafana and add influxdb monitoring under Linux

Install grafana. The official website provides an...

Detailed explanation of small state management based on React Hooks

Table of contents Implementing state sharing base...

Linux parted disk partition implementation steps analysis

Compared with fdisk, parted is less used and is m...

Use of Vue filters and custom instructions

Table of contents Filters 01.What is 02. How to d...

Summary of methods for querying MySQL user permissions

Introduce two methods to view MySQL user permissi...

How to change mysql password under Centos

1. Modify MySQL login settings: # vim /etc/my.cnf...

jQuery achieves fade-in and fade-out effects

Before using jQuery to complete the fade-in and f...