XFS是擴展性高、高性能的文件系統。也是rhel7/centos7的默認文件系統。XFS支持metadata journaling,這使其能從crash中更快速的恢復。它也支持在掛載和活動的狀態下進行碎片整理和擴容。通過延遲分配,XFS 贏得了許多機會來優化寫性能。可通過工具xfsdump和xfsrestore來備份和恢復xfs文件系統,xfsdump可使用dump級別來完成增量備份,還可通過size,subtree,inode flags來排除文件。也支持user、group、PRoject配額。
下面將介紹如何創建xfs文件系統,分配配額以及對其擴容:###############################################################################將/dev/sdb分區(2G),并啟動LVM功能
[root@localhost zhongq]#parted /dev/sdb GNU Parted 3.1Using /dev/sdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) mkpart primary 4 2048(parted) set 1 lvm on (parted) p Model: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 2147MBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number Start End Size File system Name Flags 1 4194kB 2048MB 2044MB primary lvm
###############################################################################創建PV
[root@localhost zhongq]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created[root@localhost zhongq]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name centos PV Size 24.51 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 6274 Free PE 0 Allocated PE 6274 PV UUID 9hp8U7-IJM6-bwbP-G9Vn-IVuJ-yvE8-AkFjcB "/dev/sdb1" is a new physical volume of "1.90 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 1.90 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID bu7yIH-1440-BPy1-APG2-FpvX-ejLS-2MIlA8
###############################################################################將/dev/sdb1分配到名為xfsgroup00的VG
[root@localhost zhongq]# vgcreate xfsgroup00 /dev/sdb1 Volume group "xfsgroup00" successfully created[root@localhost zhongq]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 24.51 GiB PE Size 4.00 MiB Total PE 6274 Alloc PE / Size 6274 / 24.51 GiB Free PE / Size 0 / 0 VG UUID T3Ryyg-R0rn-2i5r-7L5o-AZKG-yFkh-CDzhKm --- Volume group --- VG Name xfsgroup00 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 1.90 GiB PE Size 4.00 MiB Total PE 487 Alloc PE / Size 0 / 0 Free PE / Size 487 / 1.90 GiB VG UUID ejuwcc-sVES-MWWB-3Mup-n1wB-Kd0g-u7jm0H
###############################################################################使用命令lvcreate來創建xfsgroup00組大小為1G的名為xfsdata的LV
[root@localhost zhongq]# lvcreate -L 1024M -n xfsdata xfsgroup00WARNING: xfs signature detected on /dev/xfsgroup00/xfsdata at offset 0. Wipe it? [y/n] y Wiping xfs signature on /dev/xfsgroup00/xfsdata. Logical volume "xfsdata" created[root@localhost zhongq]# lvdisplay --- Logical volume --- LV Path /dev/centos/swap LV Name swap VG Name centos LV UUID EnW3at-KlFG-XGaQ-DOoH-cGPP-8pSf-teSVbh LV Write Access read/write LV Creation host, time localhost, 2014-08-18 20:15:25 +0800 LV Status available # open 2 LV Size 2.03 GiB Current LE 520 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID zmZGkv-Ln4W-B8AY-oDnD-BEk2-6VWL-L0cZOv LV Write Access read/write LV Creation host, time localhost, 2014-08-18 20:15:26 +0800 LV Status available # open 1 LV Size 22.48 GiB Current LE 5754 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 --- Logical volume --- LV Path /dev/xfsgroup00/xfsdata LV Name xfsdata VG Name xfsgroup00 LV UUID O4yvoY-XGcD-0zPm-eilR-3JJP-updU-rRCSlJ LV Write Access read/write LV Creation host, time localhost.localdomain, 2014-09-23 15:50:19 +0800 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:3
###############################################################################格式化分區為xfs文件系統。注意:xfs被創建后,其size將無法縮小,但可以通過xfs_growfs來增大
[root@localhost zhongq]# mkfs.xfs /dev/xfsgroup00/xfsdata meta-data=/dev/xfsgroup00/xfsdata isize=256 agcount=4, agsize=65536 blks = sectsz=512 attr=2, projid32bit=1 = crc=0data = bsize=4096 blocks=262144, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=0log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0
###############################################################################掛載xfs系統分區到指定目錄,并通過參數uquota,gquota開啟文件系統配額。
[root@localhost zhongq]# mkdir /xfsdata[root@localhost zhongq]# mount -o uquota,gquota /dev/xfsgroup00/xfsdata /xfsdata[root@localhost zhongq]# chmod 777 /xfsdata[root@localhost zhongq]# mount|grep xfsdata/dev/mapper/xfsgroup00-xfsdata on /xfsdata type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
###############################################################################使用xfs_quota命令來查看配額信息以及為用戶和目錄分配配額,并驗證配額限制是否生效。
[root@localhost zhongq]# xfs_quota -x -c 'report' /xfsdataUser quota on /xfsdata (/dev/mapper/xfsgroup00-xfsdata) Blocks User ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- root 0 0 0 00 [--------]Group quota on /xfsdata (/dev/mapper/xfsgroup00-xfsdata) Blocks Group ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- root 0 0 0 00 [--------][root@localhost zhongq]# xfs_quota -x -c 'limit bsoft=100M bhard=120M zhongq' /xfsdata[root@localhost zhongq]#xfs_quota -x -c 'report' /xfsdataUser quota on /xfsdata (/dev/mapper/xfsgroup00-xfsdata) Blocks User ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- root 0 0 0 00 [--------]zhongq 0 102400 122880 00 [--------]Group quota on /xfsdata (/dev/mapper/xfsgroup00-xfsdata) Blocks Group ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- root 0 0 0 00 [--------][root@localhost zhongq]# su zhongq[zhongq@localhost ~]$ dd if=/dev/zero of=/xfsdata/zq00 bs=1M count=100100+0 records in100+0 records out104857600 bytes (105 MB) copied, 28.9833 s, 3.6 MB/s[zhongq@localhost ~]$ dd if=/dev/zero of=/xfsdata/zq01 bs=1M count=100dd: error writing ‘/xfsdata/zq01’: Disk quota exceeded21+0 records in20+0 records out20971520 bytes (21 MB) copied, 4.18921 s, 5.0 MB/s[zhongq@localhost ~]$ exit[root@localhost zhongq]# xfs_quota xfs_quota> helpdf [-bir] [-hn] [-f file] -- show free and used counts for blocks and inodeshelp [command] -- help for one or all commandsprint -- list known mount points and projectsquit -- exit the programquota [-bir] [-gpu] [-hnNv] [-f file] [id|name]... -- show usage and limitsUse 'help commandname' for extended help.xfs_quota> printFilesystem Pathname/ /dev/mapper/centos-root/boot /dev/sda1/var/lib/docker /dev/mapper/centos-root/xfsdata /dev/mapper/xfsgroup00-xfsdata (uquota, gquota)xfs_quota> quota -u zhongqDisk quotas for User zhongq (1000)Filesystem Blocks Quota Limit Warn/Time Mounted on/dev/mapper/xfsgroup00-xfsdata 122880 102400 122880 00 [6 days] /xfsdata
###############################################################################先使用命令lvextend將LV擴展為1.5G(初始容量是1G),然后使用命令xfs_growfs來對xfs文件系統擴容(這里以block計數)
[root@localhost zhongq]# lvextend -L 1.5G /dev/xfsgroup00/xfsdata Extending logical volume xfsdata to 1.50 GiB Logical volume xfsdata successfully resized [root@localhost zhongq]# xfs_growfs /dev/xfsgroup00/xfsdata -D 393216meta-data=/dev/mapper/xfsgroup00-xfsdata isize=256 agcount=4, agsize=65536 blks = sectsz=512 attr=2, projid32bit=1 = crc=0data = bsize=4096 blocks=262144, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=0log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 262144 to 393216 [root@localhost zhongq]# df -h|grep xfsdata/dev/mapper/xfsgroup00-xfsdata 1.5G 153M 1.4G 10% /xfsdata
新聞熱點
疑難解答