VMwareでCentOS 5パーティションを拡張する方法は?


15

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

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

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

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

回答:


25

ファイルシステムは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. 完了


後に再起動は行われませんfdisk。使用してくださいpartprobe。SCSI再スキャンは興味深いです-使用中のディスクで動作しますか?
ニルス

1
パーティーに遅れて:p使用中のパーティションを再読み込みしないとpartprobeで問題が発生したため、ほとんどすべての場合でリブートします。SCSI再スキャンは、使用中のディスクで正常に機能します。dmesgディスクが新しいサイズとして
認識

悲しいことに、xen-pv-disksのscsi-rescanのようなものはありません。しかし、それは別のトピックです...-
Nils

1
本当にありがとう、あなたの指示は完璧に機能しました!
クリス・ハース

ステップ1(echo&rescan)の後に何を探すべきですか?カーネルが余分なスペースを認識するかどうかはどうすればわかりますか?
ジェフ

4

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

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を再起動してから、root権限で再度ログインします

# 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

2

簡単です。rootとして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のサイズを変更するなど)。


echo 1> / sys / class / scsi_disk / 0 \:0 \:0 \:0 / device /
rescanは

@andrejディスクが使用中であっても?
ニルス

はい、それはコントローラー側の低レベルの魔法なので、マウントされたディスクでも動作します。ドライブからスペースを差し引くのではなく、ドライブを拡大したことだけを確認する必要があります。
アンドレジュ

2

GpartedライブCD ISOをダウンロードします。次に、ISOをCentOSに接続し、ライブcdから起動します(仮想マシンの設定に移動し、右側のパネルから[CD / DVD]を選択し、[ISOを使用]を選択します)。次に、サイズを変更するパーティションを選択します。パーティションメニュー(トップメニューバー)をクリックし、[サイズ変更]をクリックします。次に、「編集」メニューから「すべての操作を適用」を選択します。


ロードしましたが、ドライブにロックアイコンがあります。画像を添付しました
アンドリュー


ありがとう!このParticion Magicのようなアプリケーションの提案に対して+1。
jstuardo

0

ここでは、データを失わずにディスクを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の電源を入れる必要があります。rootユーザーとしてPuTTYまたはコンソールを使用して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マシンを1回再起動します。

# shutdown -r now

もう一度、ルートprevilegesを使用して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

ジャーナルを削除して元に戻すのはなぜですか?これは必要ありません。ext3ファイルシステムはext2ファイルシステムと同様に拡張できます。さらに、パズルの1つの大きな部分が欠落しています。拡張するパーティションはLVM上にあります。
ジル「SO-悪であるのをやめる」

0

VMwareでCentOS 6.4を使用してこれを実行しました。回答番号1は正しいですが、私が発見した1つのステップが欠落しています。

Gpartedでは、鉱山にも鍵のアイコンがありました。

ロックアイコンがあるパーティションのある行で、右クリックして[非アクティブ化]を選択します。ロックが解除されます。

次に、右クリックしてパーティションサイズを変更できます。

次に、変更を適用します。

次に、右クリックして「アクティブ化」を選択します。


0

-rスイッチを追加して、手順5と6を1つにすることができますlvresize。これにより、必要なパラメーターを使用して自動的にlvresize実行されresize2fsます。

lvresize -r -l +100%FREE /dev/VolGroup00/LogVol00

* nix StackExchangeへようこそ!

0

VMWare上のCentOS 6.6では、次のようにして30 GBから40 GBに増やしました(LVMを使用せず、通常のネイティブLinuxパーティションのみを使用していました(Id 83))。

注:データを失う場合に備えて、最初にVMのバックアップを作成してください。すべてがうまくいけば、データを失うべきではありません。

  1. VMWareを起動する前にVMを編集して、VMで使用可能な量を変更したときに、VMWareからGUIが提供されました。これを使用して、40 GBに拡張しました。
  2. 次にCentOSを起動し、rootとして「fdisk -l」を実行しました。新しいスペースが見えました。次に、「df -h」を実行して、古いパーティションがまだあることを確認しました。
  3. 次に「cfdisk / dev / sda」を実行し、パーティションを示すテキストGUIを取得しました。私の場合、サイズを変更したいパーティションは/ dev / sda3で、最後のパーティションでした。
  4. 次に、cfdiskを使用してパーティションを削除し、使用可能なスペースがすべてある新しいパーティションを作成しました。変更を書いて終了しました。
  5. その後、VMを再起動しました(今すぐシャットダウン-r)。
  6. 再起動後、「resize2fs / dev / sda3」を使用しました。/dev/sda3は、再作成したパーティションです。これで自動的にサイズ変更が完了しました。
  7. 「df -h」を使用すると、新しいフルサイズが表示されます。

このページとhttp://positon.org/resize-an-ext3-ext4-partitionの回答の組み合わせから見つかった情報


0

別のアプローチは、パーティションではなくフルディスクにスパンされたLVMを作成することです。

この場合、次の方法を使用してディスクをホットアドできます。

blockscan --rereadpt /dev/<PV disk
pvresize /dev/<PV disk>
# The associated VG is now resized
lvresize /dev/mapper/<LV> -r -l +100%FREE

0

時々する必要がある

echo "- - -" >  /sys/class/scsi_host/host<n>/scan

どのディスクを再スキャンする必要があるかについて、新しいディスクを作成するか、既存のディスクを拡張するかによって異なります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.