Ubuntu下如何创建XFS文件系统的LVM详解

 更新时间:2018年10月10日 10:42:01   作者:潇湘隐者  
这篇文章主要给大家介绍了关于在Ubuntu下如何创建XFS文件系统的LVM的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

lvm(Logical Volume Manager) 逻辑卷管理, 可以满足linux系统动态调整各分区大小,满足服务器在不同的运行时期的需求。

以前在Linux下面玩LVM,一般都是选择ext3、ext4格式的文件系统,最近在Ubuntu 16.04.5下安装配置一个MySQL数据库服务器,遂测试了一下XFS文件系统的LVM,其实仔细对比下来,差别不大,只是文件格式化的区别以及件系统的调整命令的不同。下面很多地方不做过多解释,只是简单的记录测试过程。

在测试服务器新增一个磁盘,如下所示,新增的磁盘为/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
 
#创建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]
 
#创建VG
root@mylnx12:~# vgcreate -s 32M VolGroup01 /dev/sdc1
 Volume group "VolGroup01" successfully created
 
#新增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
 
#格式化
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
 
#挂载点设置
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
 
#创建另外一个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

修改配置文件/etc/fstab,在其增加下面配置信息,如下所示,以便永久保存,确保下次开机启动不丢失相关挂载点信息。

UUID="a72bd3f8-eb2d-40cb-92c3-d5e32c30d5ff" /mysql_data xfs defaults 0 2
UUID="33325d87-f3f4-4215-abf7-ee795724697e" /mysql_backup xfs defaults 0 2

另外,ext2/ext3/ext4文件系统的调整命令是resize2fs(增大和减小都支持),而XFS文件系统的调整命令是xfs_growfs(只支持增大),当然硬要减小的话,只能在减小后将逻辑分区重新通过mkfs.xfs命令重新格式化才能挂载上,这样的话这个逻辑分区上原来的数据就丢失了。其实没有什么意义。

参考资料:

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Linux防火墙设置允许特定IP访问指定端口

    Linux防火墙设置允许特定IP访问指定端口

    文章介绍了服务器安全设置,包括启用防火墙、检查端口、关闭端口访问、添加特定IP访问特定端口的方法步骤,以及注意事项
    2025-04-04
  • Linux上也有10个流行的Windows应用程序

    Linux上也有10个流行的Windows应用程序

    今天小编就为大家分享一篇关于在linux上也流行的windows程序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • 在Unix/Linux上使用通用二进制文件安装MySQL方式

    在Unix/Linux上使用通用二进制文件安装MySQL方式

    本文介绍了如何在Unix/Linux平台上从压缩的tar文件二进制发行版安装MySQL,首先,需要下载并解压缩发行版,然后创建一个符号链接并将其添加到PATH变量中,接下来,设置发行版的所有权和访问权限,初始化数据目录,启动MySQL服务器,并设置配置文件
    2025-02-02
  • Apache的status相关问题解决办法

    Apache的status相关问题解决办法

    这篇文章主要介绍了Apache的status相关问题解决办法,文中环境为Linux系统,需要的朋友可以参考下
    2015-07-07
  • Linux配置cuda环境变量过程

    Linux配置cuda环境变量过程

    这篇文章主要介绍了Linux配置cuda环境变量过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • linux上TCP connection timeout问题解决办法

    linux上TCP connection timeout问题解决办法

    这篇文章主要介绍了 linux上TCP connection timeout问题解决办法的相关资料,需要的朋友可以参考下
    2017-04-04
  • Linux启动过程分析和常见错误汇总

    Linux启动过程分析和常见错误汇总

    这篇文章介绍了Linux系统的引导过程、系统初始化进程及文件、MBR扇区故障处理、GRUB引导故障处理、服务控制及优化启动过程等内容
    2025-04-04
  • linux挂载以及初始化硬盘方式

    linux挂载以及初始化硬盘方式

    这篇文章主要介绍了linux挂载以及初始化硬盘方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • CentOS 7.2搭建VNC远程桌面服务的方法

    CentOS 7.2搭建VNC远程桌面服务的方法

    本篇文章主要介绍了CentOS 7.2搭建VNC远程桌面服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Apache环境下配置多个ssl证书搭建多个站点的方法

    Apache环境下配置多个ssl证书搭建多个站点的方法

    这篇文章主要介绍了Apache环境下配置多个ssl证书搭建多个站点的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07

最新评论