來自:http://space.baidu.com/hl_jacky/blog/item/8c75e0617189666b0d33fa53.html
2、LVM裝置的擴容
LVM裝置的一個最大好處就是只要硬體條件允許就可以對空間進行擴充,方法如下:
要擴充裝置首先要知道還有多少地方可以用,這個建立VG裝置的時候把兩個分區的大小加起來就行了,減掉已經使用的就是可以用的了,這裡我們把擴容也分成兩種情形討論
(一)使用原有剩餘空間擴容,我的兩塊硬碟都是34.6G,使用了60G也就是34.6+34.6-60大約還有至少5G空間可用,因為硬碟容量和作業系統識別的容量有一定的差異所以這裡我少算了一些空間
[root@VPNSERV ~]# vgdisplay
data
####我們也可以通過查看命令vgdisplay來查看當前的VG使用方式
--- Volume group ---
VG Name data
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 68.36
GB
####這裡我們可以看到我們VG data總共68G
PE Size 4.00
MB
####預設每個擴充塊4M,擴充塊的的大小是在建立VG的時候可以使用-s參數來調整,最大的塊甚至可以用T做參數
Total PE
17500
####一共17500個擴充塊
Alloc PE / Size 15500 / 60.55
GB
####我們已經使用了60G
Free PE / Size 2000 / 7.81 GB
VG UUID hOixVC-ljbJ-Z5QG-de9b-KFEy-PDZb-o2EDME
[root@VPNSERV ~]#
mount
####查看現在的掛載狀態
/dev/sda2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /boot type ext3 (rw)
/dev/sda5 on /data type ext3 (rw)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/mapper/data-lvdata on /usr/local/www type ext3 (rw)
[root@VPNSERV ~]# df
-h
####使用df命令查看磁碟空間的使用方式
tem Size Used Avail Use% Mounted on
/dev/sda2 15G 7.8G 6.0G 57% /
/dev/sda1 99M 12M 83M 12% /boot
/dev/sda5 16G 2.7G 12G 19% /data
none 506M 0 506M 0% /dev/shm
/dev/mapper/data-lvdata
58G 12G 44G 21%
/usr/local/www
####這裡我們看到原有的60G識別成為58G,已經使用了12G
[root@VPNSERV ~]# ls /usr/local/www/ ####查看該裝置中的資料
STABLE-200706-i386-bootonly.iso [RHCE????,????RHEL.4.DVD].CD5.rar
6.2-STABLE-200706-i386-disc1.iso [RHCE????,????RHEL.4.DVD].CD6.rar
6.2-STABLE-200706-i386-docs.iso [RHCE????,????RHEL.4.DVD].CD7.rar
[RHCE????,????RHEL.4.DVD].CD1.rar [RHCE????,????RHEL.4.DVD].RHEL4-U5-i386-AS-dvd.iso
[RHCE????,????RHEL.4.DVD].CD2.rar [????????.Linux.5].TLF-SOFT-RedHat.Enterprise.Linux.5.Update.1-XiSO.iso
[RHCE????,????RHEL.4.DVD].CD3.rar [????????.Linux.5].TLF-SOFT-RedHat.Enterprise.Linux.5.Update.1.x64-XiSO.iso
[RHCE????,????RHEL.4.DVD].CD4.rar lost+found
LVM的最大優點在於可以在不破壞原有資料的情況下對空間進行擴充,過程如下所示
[root@VPNSERV ~]# umount /usr/local/www/ ####先把要進行操作的卷從作業系統中卸載
[root@VPNSERV ~]# ls
/usr/local/www/
####查看一下是不是看不到那些檔案了
[root@VPNSERV ~]# lvextend -L +1000M
/dev/data/lvdata
####使用lvextend命令為/dev/data/lvdata裝置擴充1G空間
Extending logical volume lvdata to 59.57 GB
Logical volume lvdata successfully resized
[root@VPNSERV ~]# e2fsck -f
/dev/data/lvdata
####檢查LVM裝置對應inode和block之間的關係小心使的萬年船啊
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/data/lvdata: 24/7684096 files (4.2% non-contiguous), 3185237/15360000 blocks
[root@VPNSERV ~]# resize2fs
/dev/data/lvdata
####使用resize2fs命令格式化新加入的部分
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/data/lvdata to 15616000 (4k) blocks.
The filesystem on /dev/data/lvdata is now 15616000 blocks long.
[root@VPNSERV ~]# mount /dev/data/lvdata /usr/local/www/ ####重新掛載
[root@VPNSERV ~]# ls
/usr/local/www/
####查看一下原來的東西是不是還在????
6.2-STABLE-200706-i386-bootonly.iso [RHCE????,????RHEL.4.DVD].CD5.rar
6.2-STABLE-200706-i386-disc1.iso [RHCE????,????RHEL.4.DVD].CD6.rar
6.2-STABLE-200706-i386-docs.iso [RHCE????,????RHEL.4.DVD].CD7.rar
[RHCE????,????RHEL.4.DVD].CD1.rar [RHCE????,????RHEL.4.DVD].RHEL4-U5-i386-AS-dvd.iso
[RHCE????,????RHEL.4.DVD].CD2.rar [????????.Linux.5].TLF-SOFT-RedHat.Enterprise.Linux.5.Update.1-XiSO.iso
[RHCE????,????RHEL.4.DVD].CD3.rar [????????.Linux.5].TLF-SOFT-RedHat.Enterprise.Linux.5.Update.1.x64-XiSO.iso
[RHCE????,????RHEL.4.DVD].CD4.rar lost+found ####果然毫髮無傷
[root@VPNSERV ~]# df
-h
####查看空間狀態已經從58G變成59G了吧??大功告成!
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 7.8G 6.0G 57% /
/dev/sda1 99M 12M 83M 12% /boot
/dev/sda5 16G 2.7G 12G 19% /data
none 506M 0 506M 0% /dev/shm
/dev/mapper/data-lvdata
59G 12G 45G 21% /usr/local/www
(二)如果有新的硬碟加入則要麻煩一小點,如果你的系統是一個正在啟動並執行應用系統那麼想要把系統DOWN下來是不允許的,如何擴充空間呢,這一節後邊兩個命令就是針對這種情況的,線上適時擴容。
使用pvcreate /dev/hdd1把/dev/hdd1加入到PV內
使用vgextend data /dev/hdd1把該分區加入到data中
使用lvextend -L +1000M /dev/data/lvdata把lvdata再加1G空間
使用ext2online /usr/local/www把新空間啟用就可以
詳細過程請看下邊的例子!
[root@VPNSERV ~]# lvextend -L +1000M /dev/data/lvdata
Extending logical volume lvdata to 60.55 GB
Logical volume lvdata successfully resized
[root@VPNSERV ~]# ext2online /usr/local/www/
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b
[root@VPNSERV ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 7.8G 6.0G 57% /
/dev/sda1 99M 12M 83M 12% /boot
/dev/sda5 16G 2.7G 12G 19% /data
none 506M 0 506M 0% /dev/shm
/dev/mapper/data-lvdata
60G 12G 46G 20% /usr/local/www
會建設也要會破壞。如何拆LVM呢?
步驟很簡單,建設的時候我們是從下往上建PV------->>VG----------->>LVM
拆的時候從上往下拆
當然前提仍然是要先卸載
lvremove /dev/data/lvdata ####拆除LVM裝置
vgchange -an /dev/data ####把VG的狀態轉為離線
vgremove data ####刪除VG組
pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 ####刪除PV