很久沒有學習centos的指令和操作了,最近忙於做監控,音頻廣播信號的項目,很少涉及服務器的項目,漸漸的遠離和疏忽指令。今天對各個知識點又惡補一些,寫點東西來分享。
lvm是邏輯分區意思,我記得在centos6裏面有出現lvm的分區,redhat5 裏面好像沒有。能解答的朋友麻煩告訴我下。
xfs和ext2.3.4文件系統的不同,簡單來說(抄別人的。哈哈,也可以百度吧):
xfs是一種非常優秀的日誌文件系統,基於系統位數限制的文件類型,xfs是一個64位文件系統,最大支持8EB減1字節的單個文件系統,實際部署時取決於宿主操作系統的最大塊限制。對於一個32位Linux系統,文件和文件系統的大小會被限制在16TB
xfs在很多方面確實做的比ext4好,ext4受限制於磁盤結構和兼容問題,可擴展性和scalability確實不如xfs,另外xfs經過很多年發展,各種鎖的細化做的也比較好
ext4是第四代擴展文件系統(英語:Fourth EXtended filesystem,縮寫爲ext4)是linux系統下的日誌文件系統,是ext3文件系統的後繼版本
ext4的文件系統容量達到1EB,而文件容量則達到16TB,這是一個非常大的數字了。對一般的臺式機和服務器而言,這可能並不重要,但對於大型磁盤陣列的用戶而言,這就非常重要了。
ext3目前只支持32000個子目錄,而ext4取消了這一限制,理論上支持無限數量的子目錄
1)ext2/ext3/ext4文件系統的調整命令是resize2fs(增大和減小都支持)
lvextend -L 200G
/dev/mapper/centos-home
//
增大至200G
lvextend -L +30G
/dev/mapper/centos-home
//
增加30G
lvreduce -L 40G
/dev/mapper/centos-home
//
減小至40G
lvreduce -L -10G
/dev/mapper/centos-home
//
減小10G
resize2fs
/dev/mapper/centos-home
//
執行調整
2)xfs文件系統的調整命令是xfs_growfs(只支持增大)
lvextend -L 120G
/dev/mapper/centos-home
//
增大至120G
lvextend -L +20G
/dev/mapper/centos-home
//
增加20G
xfs_growfs
/dev/mapper/centos-home
//
執行調整
就是說:xfs文件系統只支持增大分區空間的情況,不支持減小的情況(謹記謹記謹記)。
硬要減小的話,只能在減小後將邏輯分區重新通過mkfs.xfs命令重新格式化才能掛載上,這樣的話這個邏輯分區上原來的數據就丟失了。記得備份原來數據。
實例1 當系統上還有空閒的數據時候,比如系統沒有劃分到硬盤。(偷偷抄別人的,懶得在做一個系統盤了。)
1)查看分區空間。如下可知是xfs文件系統(
df
的-T參數就能看出文件格式)。
[root@localhost ~]
# df -hT
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root
xfs 200G 2.2G 198G 2% /
devtmpfs devtmpfs 32G 0 32G 0%
/dev
tmpfs tmpfs 32G 0 32G 0%
/dev/shm
tmpfs tmpfs 32G 49M 32G 1%
/run
tmpfs tmpfs 32G 0 32G 0%
/sys/fs/cgroup
/dev/sda1
xfs 197M 139M 59M 71%
/boot
tmpfs tmpfs 6.3G 0 6.3G 0%
/run/user/0
/dev/mapper/centos-home
xfs 628G 33M 718G 1%
/home
2)使用vgdisplay命令查看系統上的空閒空間
root@localhost ~]
# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 6
VG Access
read
/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 930.80 GiB
PE Size 4.00 MiB
Total PE 238285
Alloc PE / Size 212736 / 831.00 GiB
Free PE / Size 25549 / 99.80 GiB
//
這一項表示目前該系統上還存在99.80G的空閒空間(25549)
VG UUID a5hiAh-LB8M-9lRv-Ps1a-z35L-J4fk-sP3KrF
3) 將上面查到的空閒空間中的90G增減到
/home
分區上
[root@localhost ~]
# lvextend -L +90G /dev/mapper/centos-home //或者使用-l參數(跟PE數量),即lvextend -l +25500 /dev/mapper/centos-home
Size of logical volume centos
/home
changed from 628.00 GiB (160768 extents) to 718.00 GiB (183808 extents).
Logical volume centos
/home
successfully resized.
[root@localhost ~]
# xfs_growfs /dev/mapper/centos-home
meta-data=
/dev/mapper/centos-home
isize=512 agcount=4, agsize=41156608 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=164626432, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=80384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 164626432 to 188219392
4)再次看着系統分區,發現home分區已經增加了90G(這種方式增加後,home分區之前的數據還不會丟失)
[root@localhost ~]
# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root
200G 2.2G 198G 2% /
devtmpfs 32G 0 32G 0%
/dev
tmpfs 32G 0 32G 0%
/dev/shm
tmpfs 32G 49M 32G 1%
/run
tmpfs 32G 0 32G 0%
/sys/fs/cgroup
/dev/sda1
197M 139M 59M 71%
/boot
tmpfs 6.3G 0 6.3G 0%
/run/user/0
/dev/mapper/centos-home
718G 33M 718G 1%
/home
雖然xfs文件系統只支持增加,不支持減少。但並不是說在xfs系統文件下不能減小,只是減小後,需要重新格式化才能掛載上。這樣原來的數據就丟失了!
實例2: 這種情況只適用於系統剛安裝好,邏輯分區內沒有什麼數據或數據不多且不重要可以刪除或拷貝的情況下;計劃將Home分區直接卸載,在重新從15G變成10G
root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol05 ext4 16G 4.8G 9.9G 33% /
tmpfs tmpfs 495M 224K 495M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot
/dev/mapper/VolGroup-LogVol04 ext4 15G 12G 2.6G 82% /home
/dev/mapper/VolGroup-LogVol03 ext4 4.9G 583M 4.0G 13% /opt
/dev/mapper/VolGroup-LogVol06 ext4 2.4G 68M 2.2G 4% /usr/local
/dev/sr0 iso9660 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
[root@localhost ~]# umount /home/
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
[root@localhost ~]# umount /home/ -f
umount2: Device or resource busy
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
#### 因爲home路徑下面有文件在運行,必須找文件進行刪除纔可以卸載掉。######
root@localhost ~]# fuser -m /home/
/home/: 2657c
[root@localhost ~]# ps -aux |grep 2657
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 2657 0.0 0.1 108340 1856 pts/0 Ss+ 01:07 0:00 /bin/bash
root 2789 0.0 0.0 103252 832 pts/1 S+ 01:26 0:00 grep 2657
[root@localhost ~]# kill -9 2657
[root@localhost ~]# fuser -m /home/
[root@localhost ~]# umount /home/ ############已經成功卸載,fuser使用,底上上連接。
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol05 ext4 16G 4.9G 9.8G 34% /
tmpfs tmpfs 495M 228K 495M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot
/dev/mapper/VolGroup-LogVol03 ext4 4.9G 583M 4.0G 13% /opt
/dev/mapper/VolGroup-LogVol06 ext4 2.4G 68M 2.2G 4% /usr/local
/dev/sr0 iso9660 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
[root@localhost ~]# lvreduce -L -10G /dev/mapper/VolGroup-LogVol04 ####減小10G的空間
WARNING: Reducing active logical volume to 4.65 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol04? [y/n]: y
Reducing logical volume LogVol04 to 4.65 GiB
Logical volume LogVol04 successfully resized
[root@localhost ~]# xfs_growfs /dev/mapper/VolGroup-LogVol04 #########顯然通過xfs方法減少不行,而且也卷組也不是XFS系統文件。
xfs_growfs: /dev/mapper/VolGroup-LogVol04 is not a mounted XFS filesystem
######如果-bash: mkfs.xfs: command not found,請[root@localhost ~]# yum -y install xfsprogs#####
[root@localhost ~]# mount /dev/mapper/VolGroup-LogVol04 /home/ #####在此將邏輯卷組掛載在home分區上
mount: wrong fs type, bad option, bad superblock on /dev/mapper/VolGroup-LogVol04,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
[root@localhost ~]# mkfs.xfs /dev/mapper/VolGroup-LogVol04 -f ###########重新格式化
meta-data=/dev/mapper/VolGroup-LogVol04 isize=256 agcount=4, agsize=304640 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=1218560, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mount /dev/mapper/VolGroup-LogVol04 /home/ ######重新在掛載一遍。
[root@localhost ~]# df -hT ###home的分區減少了10G,數據也應該不見了。
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol05 ext4 16G 4.9G 9.8G 34% /
tmpfs tmpfs 495M 228K 495M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot
/dev/mapper/VolGroup-LogVol03 ext4 4.9G 583M 4.0G 13% /opt
/dev/mapper/VolGroup-LogVol06 ext4 2.4G 68M 2.2G 4% /usr/local
/dev/sr0 iso9660 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
/dev/mapper/VolGroup-LogVol04 xfs 4.7G 33M 4.7G 1% /home
[root@localhost ~]# mkfs.ext4 /dev/mapper/VolGroup-LogVol04 #####上面在重新格式的時候,也可以將這個格式化爲ext4格式
mke2fs 1.41.12 (17-May-2010)
/dev/mapper/VolGroup-LogVol04 is mounted; will not make a filesystem here!
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Mar 1 17:03:43 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-LogVol05 / ext4 defaults 1 1
UUID=afb02c3f-80b5-4dff-8dc5-50b2b44df6ef /boot ext4 defaults 1 2
/dev/mapper/VolGroup-LogVol04 /home ext4 defaults 1 2
/dev/mapper/VolGroup-LogVol03 /opt ext4 defaults 1 2
/dev/mapper/VolGroup-LogVol06 /usr/local ext4 defaults 1 2
/dev/mapper/VolGroup-LogVol01 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol05 ext4 16G 4.9G 9.8G 34% /
tmpfs tmpfs 495M 228K 495M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot
/dev/mapper/VolGroup-LogVol03 ext4 4.9G 583M 4.0G 13% /opt
/dev/mapper/VolGroup-LogVol06 ext4 2.4G 68M 2.2G 4% /usr/local
/dev/sr0 iso9660 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
/dev/mapper/VolGroup-LogVol04 xfs 4.7G 33M 4.7G 1% /home
[root@localhost ~]#vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 5
Open LV 5
Max PV 0
Cur PV 1
Act PV 1
VG Size 39.51 GiB
PE Size 4.00 MiB
Total PE 10114
Alloc PE / Size 7554 / 29.51 GiB
Free PE / Size 2560 / 10.00 GiB ###還剩下減少home分區目錄下面的空間。
VG UUID aUO7Ph-kxhT-R7MQ-FCYG-yNez-IP7T-fuvKTf
###############################################################誤操作,正好可以引薦,把剩餘的10G分配到EXT4文件類型中了,在恢復回來。這裏運用到樓上的知識,怎麼增加,怎麼減少。################
[root@localhost ~]# lvextend -L +10G /dev/mapper/VolGroup-LogVol03
Extending logical volume LogVol03 to 14.88 GiB
Logical volume LogVol03 successfully resized
[root@localhost ~]# xfs_growfs /dev/mapper/VolGroup-LogVol03
xfs_growfs: /dev/mapper/VolGroup-LogVol03 is not a mounted XFS filesystem
[root@localhost ~]# lvextend -L -10G /dev/mapper/VolGroup-LogVol03
Negative argument not permitted - use lvreduce
Run `lvextend --help' for more information.
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 5
Open LV 5
Max PV 0
Cur PV 1
Act PV 1
VG Size 39.51 GiB
PE Size 4.00 MiB
Total PE 10114
Alloc PE / Size 10114 / 39.51 GiB
Free PE / Size 0 / 0
VG UUID aUO7Ph-kxhT-R7MQ-FCYG-yNez-IP7T-fuvKTf
[root@localhost ~]# lvreduce -L -10G /dev/mapper/VolGroup-LogVol03 ######在重新減退回來,否則沒有空的容量掛載在XFS中。
WARNING: Reducing active and open logical volume to 4.88 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol03? [y/n]: y
Reducing logical volume LogVol03 to 4.88 GiB
Logical volume LogVol03 successfully resized
########################################################
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol05 ext4 16G 4.9G 9.8G 34% /
tmpfs tmpfs 495M 228K 495M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot
/dev/mapper/VolGroup-LogVol03 ext4 4.9G 583M 4.0G 13% /opt
/dev/mapper/VolGroup-LogVol06 ext4 2.4G 68M 2.2G 4% /usr/local
/dev/sr0 iso9660 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
/dev/mapper/VolGroup-LogVol04 xfs 4.7G 33M 4.7G 1% /home
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 5
Open LV 5
Max PV 0
Cur PV 1
Act PV 1
VG Size 39.51 GiB
PE Size 4.00 MiB
Total PE 10114
Alloc PE / Size 7554 / 29.51 GiB
Free PE / Size 2560 / 10.00 GiB
VG UUID aUO7Ph-kxhT-R7MQ-FCYG-yNez-IP7T-fuvKTf
[root@localhost ~]# lvextend -L +10G /dev/mapper/VolGroup-LogVol04 #04卷纔是xfs的文件系統。
Extending logical volume LogVol04 to 14.65 GiB
Logical volume LogVol04 successfully resized
[root@localhost ~]# xfs_growfs /dev/mapper/VolGroup-LogVol04 ###控制調整,格式化XFS文件。############
meta-data=/dev/mapper/VolGroup-LogVol04 isize=256 agcount=4, agsize=304640 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=1218560, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 1218560 to 3840000
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol05 ext4 16G 4.9G 9.8G 34% /
tmpfs tmpfs 495M 228K 495M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot
/dev/mapper/VolGroup-LogVol03 ext4 4.9G 583M 4.0G 13% /opt
/dev/mapper/VolGroup-LogVol06 ext4 2.4G 68M 2.2G 4% /usr/local
/dev/sr0 iso9660 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
/dev/mapper/VolGroup-LogVol04 xfs 15G 33M 15G 1% /home
總結:XFS與EXT4文件,指令不相同也有類似的地方,合適根據文件來選擇文件系統類型來選擇。
這裏有個疑問:爲什麼已經格式化成爲EXT4文件了,但是在df顯示中還有是Xfs文件,有大神知道,麻煩告訴我一下了。
借鑑網站:https://blog.csdn.net/lengyue1084/article/details/51477872
https://blog.csdn.net/wangkai_123456/article/details/79132333
https://blog.csdn.net/shile/article/details/52919954
https://blog.csdn.net/lengyue1084/article/details/51477872