VMware 上で CentOS 5 パーティションを拡張するにはどうすればいいですか?

VMware 上で CentOS 5 パーティションを拡張するにはどうすればいいですか?

CentOS 5 仮想マシンがあり、ディスク サイズに 20 GB を追加しました。使用可能な領域を初期化して拡張するにはどうすればよいですか?

GParted もロードしようとしましたが、ドライブがロックされています。どうすればロックを解除できますか?

ここに画像の説明を入力してください

ここに画像の説明を入力してください

答え1

ファイルシステムは LVM 上にあり、GParted はそれをサポートしていないため、GParted を使用することはできません。

まず、VM のバックアップを作成します。次に、コマンド ラインから「root」として次の操作を実行します。

  1. すでに再起動しているようですが、念のため、カーネルがより大きなディスクを認識していることを確認してください。

    echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
    
  2. fdiskで2番目のパーティションのサイズを変更する

    fdisk /dev/sda
    p     # print current
    d     # delete
    - 2
    n     # create
    - p   # primary partition
    2     # partition number
    - default first/last cylinders
    t     # change partition id
    - 2
    - 8e (hex code)
    p     # print the current again to verify it's expanded
    w     # write changes
    
  3. 仮想マシンを再起動する

    shutdown -r now
    
  4. 復旧したら、LVM物理ボリュームのサイズを変更します。

    pvresize /dev/sda2
    
  5. 次にLVM論理ボリュームのサイズを変更します(注記:スクリーンショットに基づいて論理ボリューム名を解読することはできないため、 であると想定していますLogVol00。 を実行するとこれを判別できますlvdisplay

    lvresize -l +100%FREE /dev/VolGroup00/LogVol00
    
  6. 最後に、ファイルシステムのサイズを変更します

    resize2fs -p /dev/VolGroup00/LogVol00
    
  7. ファイルシステムが大きいことを確認する

    df -h
    
  8. 終わり

答え2

以下の手順では、Centos 6 EXT4 VPS を実行している VMWare EXSi 5.5 上のパーティションを 12 GB から 26 GB に拡張しました。

1) デバイス名(デフォルトでは /dev/sda)を特定し、次のコマンドを実行して新しいサイズを確認します。

# fdisk -l

2) /dev/sda デバイスのパーティションのリストを取得します。

# ls -al /dev/sda*

brw-rw---- 1 root disk 8, 0 Dec 29 15:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 29 15:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 29 15:32 /dev/sda2

3) 新しいプライマリパーティションを作成する

# fdisk /dev/sda

Then type:
  n (enter) [create new partition]
  p (enter) [primary partition]
  3 (enter) [next available number from listed /dev/sda partitions in 2)
  (enter)   [start cylinder]
  (enter to use all available physical space) or specify size in +cylinders, +size{K,M,G}
  t (enter) [change partition type]
  3 (enter) [selecting /dev/sda3 partition]
  8e (enter) [this sets partition type to Linux LVM or type L then enter to see list of types] 
  w (enter)

  The partition table has been altered!

4) Centos 6.Xを再起動し、ルート権限で再度ログインします。

# reboot

5) 新しいパーティションの準備ができていることを確認し、「8e」と入力します。

# fdisk -l

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2089    16264192   8e  Linux LVM
/dev/sda3            2089        3916    14678054   8e  Linux LVM

6) 物理ボリュームを作成します。

# pvcreate /dev/sda3

Physical volume "/dev/sda3" successfully created

7) ボリュームグループ名を確認します。

# vgdisplay

--- Volume group ---
VG Name               vg_app1
...

8) 物理ボリュームを拡張します。

# vgextend vg_app1 /dev/sda3

Volume group "vg_app1" successfully extended

9) 既存のボリューム グループを新しい物理ボリュームに拡張します (+100%FREE は希望のサイズに変更できます)。ルート パーティションを拡張しているため、vg_app1 ボリューム グループの lv_root を指します。

# lvextend -l +100%FREE /dev/vg_app1/lv_root

Size of logical volume vg_app1/lv_root changed from 11.63 GiB (2978 extents) to 25.63 GiB (6561 extents).
Logical volume lv_root successfully resized

10) 論理ルートボリュームのサイズを変更します。

# resize2fs /dev/vg_app1/lv_root

resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_app1/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_app1/lv_root to 6718464 (4k) blocks.
The filesystem on /dev/vg_app1/lv_root is now 6718464 blocks long.

注意: Red Hat 仮想マシンの場合は、resize2fs ではなく ext2online を使用してください。

11) 空き容量を確認します。

# df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_app1-lv_root
                      26G   10G   14G  42% /
tmpfs                 9.8G     0  9.8G   0% /dev/shm
/dev/sda1             477M   88M  364M  20% /boot

答え3

簡単です。ルートとして VM に入ります。「fdisk -l」と入力します。新しいディスク サイズがすでに表示されていれば、問題ありません。

そうでない場合は、試してくださいpartprobe。それでも新しいディスク サイズが表示されない場合は、再起動してください。

fdisk /dev/sda

  1. 2 番目のパーティションの開始シリンダーを書き留めます。
  2. 2番目のパーティションを「削除」する
  3. 2番目のパーティションを再作成します。開始シリンダは同じで、終了シリンダは最後のシリンダです。
  4. 再作成したパーティションのタイプを8e(LVM)に設定します
  5. 変更を書き込み、fdiskを終了します
  6. partprobe
  7. pvresize /dev/sda2

これで、VG VolGroup00 のスペースが 20 GB 増えました。物理システムで行うのと同じように、好きなように操作してください (たとえば、LV のサイズを変更してから、FS のサイズを変更します)。

答え4

ここでは、データを失うことなくディスクを 5GB から 7GB に拡張するためのサンプル パーティションを使用しています。使用可能な空き容量に応じて変更できます。

ディスクを増やす前に、Linux VM から次の詳細を取得しました。

# df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             6.8G  2.1G  4.5G  32% /
 /dev/sda1              99M   12M   83M  13% /boot
 none                  252M     0  252M   0% /dev/shm
 /dev/sdb1             5.0G   39M  4.7G   1% /mnt/test
# fdisk -s /dev/sdb
Disk /dev/sdb: 5368 MB, 5368709120 bytes
 255 heads, 63 sectors/track, 652 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1               1         652     5237158+  83  Linux

今すぐ VM をシャットダウンします。

/dev/sdbここで、VMware コマンド プロンプトから既存の仮想ディスク ( ) を増やします。注意: このタスクは、VM の電源がオフになっているときにのみ実行する必要があります。

仮想ディスクの場所に移動します。

# vmware-vdiskmanager -x  7Gb RedHatEnterprise_Linux_4-0.vmdk

これで仮想ディスクが7Gbに拡張されます

次に、VM の電源をオンにする必要があります。PuTTY またはコンソールを使用して、root ユーザーとして VM にログインします。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             6.8G  2.1G  4.5G  32% /
 /dev/sda1              99M   12M   83M  13% /boot
 none                  252M     0  252M   0% /dev/shm
 /dev/sdb1             5.0G   39M  4.7G   1% /mnt/test

まだ古いサイズが表示されています。増やす予定のパーティションをアンマウントしてください。

# umount /dev/sdb1

ディスク上のファイルシステム修復を実行する

# fsck -n /dev/sdb1

ここで、ディスクからジャーナルを削除して、ext2 ファイルシステムにします。

# tune2fs -O ^has_journal /dev/sdb1

次に、パーティション分割を開始して/dev/sdb、増加したスペースを に割り当てます/dev/sdb1。注: 慌てないでください。ここでデータが失われることはありません。

既存のものを削除し/dev/sdb1、利用可能な空き領域とともに再作成しています。

# fdisk /dev/sdb
Command (m for help): m
Command action
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition’s system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)

Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         652     5237158+  83  Linux

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-913, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913):
Using default value 913

Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         913     7333641   83  Linux

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

パーティションを有効にするために、Linux マシンを再起動します ( を使用することもできますがpartprobe、マシンを再起動することを強くお勧めします)。

# shutdown now -r

ここでもう一度拡張ファイル システムを確認します。この手順をスキップすると、resize2fsコマンドによって実行が推奨されます。

# e2fsck -f /dev/sdb1
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/sdb1: 13/655360 files (7.7% non-contiguous), 22121/1309289 blocks

次に、ファイル システムのサイズを変更します。

# resize2fs /dev/sdb1
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/sdb1 to 1833410 (4k) blocks.
The filesystem on /dev/sdb1 is now 1833410 blocks long.

次にファイルシステムを確認します。

# fsck -n /dev/sdb1
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 13/917504 files, 30538/1833410 blocks

次に、ext3 形式でパーティションを再作成します。

# tune2fs -j /dev/sdb1
tune2fs 1.35 (28-Feb-2004)
Creating journal inode: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

ext3 ファイルシステムを効果的に使用するには、Linux マシンを一度再起動します。

# shutdown -r now

もう一度、ルート権限を使用して Linux ボックスにログインします。これで、パーティションが 7 GB に増加していることがわかります。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             6.8G  2.1G  4.5G  32% /
/dev/sda1              99M   12M   83M  13% /boot
none                  252M     0  252M   0% /dev/shm
/dev/sdb1             6.9G   39M  6.7G   1% /mnt/test

関連情報