今天要在一台Linux的機器上安裝一個程式,查詢狀態發現空間不足。 [root@pv_test ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 28G 24G 2.4G 91% / /dev/sda1 101M 13M 82M 14% /boot tmpfs 10G 1.4G 8.7G 14% /dev/shm 查詢硬碟的結構,發現還有一個sdb1,因為這台機器是VM上面的虛擬機器,所以可能是之前就已經分配好的空間 [root@pv_test orcl]# fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes 255 heads, 63 sectors/track, 3916 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 3916 31350847+ 8e Linux LVM Disk /dev/sdb: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 2610 20964793+ 83 Linux ext3 defaults 0 0 因為有看到/dev/mapper/VolGroup00-LogVol00這樣的device,所以這台Linux應該有建LVM 實體Device可以建立為PV,多個PV可以建立為VG,VG就像一顆大的虛擬硬碟,就可以規劃分割區與格式化 而分割出來的虛擬區塊就是LV,這是可以實際使用的部份。 尋找是否有PV,發現有一顆PV /dev/sda2,並且正在使用 [root@pv_test ora01]# pvscan PV /dev/sda2 VG VolGroup00 lvm2 [29.88 GB / 0 free] Total: 1 [29.88 GB] / in use: 1 [29.88 GB] / in no VG: 0 [0 ] 查詢PV的詳細訊息 [root@pv_test ora01]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name VolGroup00 PV Size 29.90 GB / not usable 24.06 MB Allocatable yes (but full) PE Size (KByte) 32768 Total PE 956 Free PE 0 Allocated PE 956 PV UUID O9OO6i-UAs5-WsUy-teoh-G8zx-PlcF-ozHzvd 查詢VG的訊息,的確有一個VG(Found volumn group "VolGroup00") [root@pv_test ora01]# vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroup00" using metadata type lvm2 查詢VG的詳細訊息,已經使用了全部的容量(Alloc PE / Size、Free PE / Size) [root@pv_test ora01]# vgdisplay --- Volume group --- VG Name VolGroup00 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 29.88 GB PE Size 32.00 MB Total PE 956 Alloc PE / Size 956 / 29.88 GB Free PE / Size 0 / 0 VG UUID K4DU8g-qJjI-uJoO-IzIa-Ji7o-vQVo-R4Zi8V 接著準備把沒有使用到的sdb1加入LVM,讓空間變大,先更改sdb1的檔案格式旗標為Linux LVM [root@pv_test ora01]# fdisk /dev/sdb The number of cylinders for this disk is set to 2610. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): t Selected partition 1 Hex code (type L to list codes): 8e Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 將/dev/sdb1建立為PV [root@pv_test /]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created 重新尋找PV,已經成功建立/dev/sdb1的PV [root@pv_test /]# pvscan PV /dev/sda2 VG VolGroup00 lvm2 [29.88 GB / 0 free] PV /dev/sdb1 lvm2 [19.99 GB] Total: 2 [49.87 GB] / in use: 1 [29.88 GB] / in no VG: 1 [19.99 GB] 接著加入到VG [root@pv_test /]# vgextend VolGroup00 /dev/sdb1 Volume group "VolGroup00" successfully extended 重新查詢VG,發現空間變大了,而且還有19.97GB的空間可以使用(Free PE / Size) [root@pv_test /]# vgdisplay --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 49.84 GB PE Size 32.00 MB Total PE 1595 Alloc PE / Size 956 / 29.88 GB Free PE / Size 639 / 19.97 GB VG UUID K4DU8g-qJjI-uJoO-IzIa-Ji7o-vQVo-R4Zi8V 查詢LV,目前已分割成LogVol00與LogVol01,而這次我們要擴充空間的是LogVol00 [root@pv_test /]# lvscan ACTIVE '/dev/VolGroup00/LogVol00' [27.91 GB] inherit ACTIVE '/dev/VolGroup00/LogVol01' [1.97 GB] inherit 把VG剩餘的空間(Free PE / Size 639 / 19.97 GB)全部都給LogVol00 [root@pv_test /]# lvresize -l +639 /dev/VolGroup00/LogVol00 Extending logical volume LogVol00 to 47.88 GB Logical volume LogVol00 successfully resized 重新查詢LV的詳細訊息,可以發現LogVol00的空間變大了 [root@pv_test /]# lvdisplay --- Logical volume --- LV Name /dev/VolGroup00/LogVol00 VG Name VolGroup00 LV UUID 8bnCPd-9VFM-V2fd-xyIP-MMZ2-1JlX-jhvz2t LV Write Access read/write LV Status available # open 1 LV Size 47.88 GB Current LE 1532 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/VolGroup00/LogVol01 VG Name VolGroup00 LV UUID rJ8EKs-4bev-rfeL-xXBr-8LBj-ndPH-0ejKJJ LV Write Access read/write LV Status available # open 1 LV Size 1.97 GB Current LE 63 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 雖然LV(LogVol00)的空間變大了,但是變大的部份還不能被我們使用,我們最後再下resize2fs的指令讓變大的部份可以使用, 這個指令可以on-line直接執行,而且不會影響原本已存在的資料,這樣就直接把空間變大了,真的很方便。 [root@pv_test /]# resize2fs /dev/VolGroup00/LogVol00 resize2fs 1.39 (29-May-2006) Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required Performing an on-line resize of /dev/VolGroup00/LogVol00 to 12550144 (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now 12550144 blocks long. 查詢之後可以發現,原本不足的空間,實際可用量變多了。 [root@pv_test /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 47G 24G 21G 53% / /dev/sda1 99M 13M 82M 14% /boot tmpfs 10G 1.4G 8.7G 14% /dev/shm
文章標籤
全站熱搜
創作者介紹
創作者 keven 的頭像
keven

平凡的幸福(備站)

keven 發表在 痞客邦 留言(0) 人氣(2,170)