在VMWare中增加Linux檔案系統空間

來源:互聯網
上載者:User

有時候會遇到這樣的情況:剛開始給VMWare分配了一個虛擬硬碟,安裝Linux後,隨著工作中使用得越來越多,虛擬硬碟容量逐漸層得不夠用,需要擴充空間。下面說明如何在VMWare中增加Linux的檔案系統空間。

我的VMWare中安裝的是Fedora 9,不過其它Linux應該大同小異。

首先在VMWare中調整虛擬硬碟的大小(在“Virtual Machine Settings”的Hardware選項卡裡選擇“Hard Disk(SCSI)”,在右側的Utilities裡選擇Expand進行擴充),也可以直接Add一塊新的虛擬硬碟。

啟動Linux,鍵入df -h查看磁碟資訊:

[root@localhost ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/VolGroup00-LogVol00                       29G   26G  2.3G  92% //dev/sda1             190M   13M  168M   7% /boottmpfs                 506M   48K  506M   1% /dev/shmgvfs-fuse-daemon       29G   26G  2.3G  92% /root/.gvfs

可以看到新增加的硬碟容量並沒有體現在Linux中。使用fdisk -l查看分區表資訊。我的資訊是:

[root@localhost ~]# fdisk -lDisk /dev/sda: 42.9 GB, 42949672960 bytes255 heads, 63 sectors/track, 5221 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk identifier: 0x000f1526   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          25      200781   83  Linux/dev/sda2              26        3916    31254457+  8e  Linux LVM

注意Disk /Dev/sda有40多G空間(剛剛通過VMWare擴充的),但兩個Device /dev/sda1和/dev/sda2加起來只有30多G,有10G空間沒有被使用。

從調整分區表入手,調整分區表用fdisk。這個過程需要人機互動,我在需要輸入的地方加註釋來說明

[root@localhost ~]# fdisk /dev/sdaThe number of cylinders for this disk is set to 5221.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): n       //選擇n表示建立分區Command action   e   extended   p   primary partition (1-4)e                             //選擇e表示建立擴充分區Partition number (1-4): 3     //選擇3是因為1和2都被佔了(/dev/dsa1和/dev/dsa2)First cylinder (3917-5221, default 3917):                               //此分區起始柱面,直接按斷行符號,使用預設值Using default value 3917Last cylinder or +size or +sizeM or +sizeK (3917-5221, default 5221):   //此分區大小,直接按斷行符號,使用預設值(表明包含所有剩餘空間)Using default value 5221Command (m for help): n       //在擴充分區基礎上建立邏輯分區Command action   l   logical (5 or over)   p   primary partition (1-4)l                             //選擇l表示建立邏輯分區First cylinder (3917-5221, default 3917):                               //直接按斷行符號Using default value 3917Last cylinder or +size or +sizeM or +sizeK (3917-5221, default 5221):   //直接按斷行符號Using default value 5221Command (m for help): p       //選擇p查看新的分區表,發現已經建立成功Disk /dev/sda: 42.9 GB, 42949672960 bytes255 heads, 63 sectors/track, 5221 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk identifier: 0x000f1526   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          25      200781   83  Linux/dev/sda2              26        3916    31254457+  8e  Linux LVM/dev/sda3            3917        5221    10482412+   5  Extended/dev/sda5            3917        5221    10482381   83  LinuxCommand (m for help): w       //選擇w儲存The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table.The new table will be used at the next reboot.Syncing disks.

可以看到新增了/dev/sda3擴充分區和/dev/sda5邏輯分區。如果是新增了一塊硬碟,也可以直接建立一個主要磁碟分割,步驟更簡單些。

鍵入partprobe命令,這個命令用於在硬碟分區發生改變時,更新Linux核心中讀取的硬碟分區表資料。

[root@localhost ~]# partprobe

我們使用ext3格式化/dev/sda5這個新的分區

[root@localhost ~]# mkfs -t ext3 /dev/sda5mke2fs 1.40.8 (13-Mar-2008)Warning: 256-byte inodes not usable on older systemsFilesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)655360 inodes, 2620595 blocks131029 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=268435456080 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632Writing inode tables: done                            Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 32 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.

格式化完畢後,要將新的分區加入到LVM(Logical Volume Manager)以便以後管理。
我們先用pvdisplay命令查看LVM的物理卷資訊

[root@localhost ~]# pvdisplay  --- Physical volume ---  PV Name               /dev/sda2  VG Name               VolGroup00  PV Size               29.81 GB / not usable 25.93 MB  Allocatable           yes   PE Size (KByte)       32768  Total PE              953  Free PE               1  Allocated PE          952  PV UUID               gjFDfY-J0vK-7YKm-uo32-eiQZ-YO3D-PFbp1A

可以看到,只有/dev/sda2加入了LVM的VolGroup00卷組。

使用我們新的/dev/sda5建立LVM物理卷,命令是pvcreate

[root@localhost ~]# pvcreate /dev/sda5  Physical volume "/dev/sda5" successfully created

建立成功,再鍵入pvdisplay查看

[root@localhost ~]# pvdisplay  --- Physical volume ---  PV Name               /dev/sda2  VG Name               VolGroup00  PV Size               29.81 GB / not usable 25.93 MB  Allocatable           yes   PE Size (KByte)       32768  Total PE              953  Free PE               1  Allocated PE          952  PV UUID               gjFDfY-J0vK-7YKm-uo32-eiQZ-YO3D-PFbp1A     "/dev/sda5" is a new physical volume of "10.00 GB"  --- NEW Physical volume ---  PV Name               /dev/sda5  VG Name                 PV Size               10.00 GB  Allocatable           NO  PE Size (KByte)       0  Total PE              0  Free PE               0  Allocated PE          0  PV UUID               WiG7f0-jGuq-HCUR-3MCZ-d8V0-rwV9-rEF2wg

新的物理卷已經建立,但是沒有加入任何卷組。現在我們把它加入VolGroup00卷組

[root@localhost ~]# vgextend VolGroup00 /dev/sda5  Volume group "VolGroup00" successfully extended

加入成功。鍵入lvdisplay查看我們當前的邏輯卷資訊

[root@localhost ~]# lvdisplay  --- Logical volume ---  LV Name                /dev/VolGroup00/LogVol00  VG Name                VolGroup00  LV UUID                nvo0P1-8kmf-f9jJ-X4ii-RHUD-VvwK-AvIm36  LV Write Access        read/write  LV Status              available  # open                 1  LV Size                29.25 GB  Current LE             936  Segments               1  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                2hi7f1-SPdo-FQdX-s4gE-Y74F-rgzQ-KAO55X  LV Write Access        read/write  LV Status              available  # open                 1  LV Size                512.00 MB  Current LE             16  Segments               1  Allocation             inherit  Read ahead sectors     auto  - currently set to     256  Block device           253:1

我們要擴充的是名為/dev/VolGroup00/LogVol00的邏輯卷,使用lvextend命令

[root@localhost ~]# lvextend /dev/VolGroup00/LogVol00 /dev/sda5  Extending logical volume LogVol01 to 10.47 GB  Logical volume LogVol01 successfully resized

擴充成功,此時再鍵入lvdisplay查看資訊,顯示如下

[root@localhost ~]# lvdisplay  --- Logical volume ---  LV Name                /dev/VolGroup00/LogVol00  VG Name                VolGroup00  LV UUID                nvo0P1-8kmf-f9jJ-X4ii-RHUD-VvwK-AvIm36  LV Write Access        read/write  LV Status              available  # open                 1  LV Size                39.22 GB  Current LE             1255  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                2hi7f1-SPdo-FQdX-s4gE-Y74F-rgzQ-KAO55X  LV Write Access        read/write  LV Status              available  # open                 1  LV Size                32.00 MB  Current LE             1  Segments               1  Allocation             inherit  Read ahead sectors     auto  - currently set to     256  Block device           253:1

LogVol00擴大了10G。但此時鍵入df -h,會發現我們的空間還是不能用

[root@localhost ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/VolGroup00-LogVol00                       29G   26G  2.3G  92% //dev/sda1             190M   13M  168M   7% /boottmpfs                 506M   48K  506M   1% /dev/shmgvfs-fuse-daemon       29G   26G  2.3G  92% /root/.gvfs

需要用resize2fs工具調整Linux檔案系統大小。如果你的Linux核心是2.6及以上版本,可以直接調整,否則需要先umount相關的裝置後進行調整。Fedora 9的核心版本是2.6.25。OK,我們直接調整df命令中列出的/dev/mapper/VolGroup00-LogVol00檔案系統

[root@localhost ~]# resize2fs /dev/mapper/VolGroup00-LogVol00resize2fs 1.40.8 (13-Mar-2008)Filesystem at /dev/mapper/VolGroup00-LogVol00 is mounted on /; on-line resizing requiredold desc_blocks = 2, new_desc_blocks = 3Performing an on-line resize of /dev/mapper/VolGroup00-LogVol00 to 10280960 (4k) blocks.The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 10280960 blocks long.

此時再鍵入df -h命令查看

[root@localhost ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/VolGroup00-LogVol00                       39G   26G   12G  69% //dev/sda1             190M   13M  168M   7% /boottmpfs                 506M   48K  506M   1% /dev/shmgvfs-fuse-daemon       39G   26G   12G  69% /root/.gvfs

至此,我們的檔案系統擴充完畢。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.