後で「やっぱ足りない」ってなるのが、ゲストマシンのストレージ割り当て
なれてないと、躓くところが2点ありますね。<自分
・VirtualBoxの仮想ストレージ自体を増やす
・ゲストマシンのOSから、増やしたストレージを認識させる
たまにしかやらないので、すぐ忘れる。
新しい仮想ストレージを追加して、それをマウントして、ってやってもいいんですけど、マウントポイントの調整とかめんどくさいので、今の構成のママ広げたい、ってケースの手順を書き残しておきます。
ググると、VirutalBoxのコマンドラインベースの手順が結構ヒットするんですけど、それGUIでできるよ、って話で。
最近だと、EBSボリュームの差し替えネタがヒットしまくるのですが、やりたいのはソレじゃないんだよ、ってのもあるので、とりあえずサックリできる方法を残しておきたかったです。
なお、VirtualBoxのバージョンは5.2.24です。
6系がリリースされてますが、まだバージョンアップするの避けてます。
LinuxはRedHat6系(ルートボリュームのファイルシステムはext4)です。まだまだ6系バリバリ使ってます。
Redhat7系(xfs)で確認したら、また書くかも。
仮想ストレージ拡張
既存の仮想ストレージが「.vdi」の場合
もともと拡張可能なタイプなので、サクッと引き上げましょう。
- メニューから「ファイル」>「仮想メディアマネージャー」を選択
- 「ハードディスク」タブから、該当のものを選択
- 「プロパティ」ボタンで、プロパティ表示
- 「属性」タブの「サイズ」で、サイズ変更して「適用」
既存の仮想ストレージが「.vmdk」の場合
「.vmdk」はサイズ固定タイプで、そのままでは拡張できません。
よって、「vdiに複製、差し替え」という手順で対処します。
ストレージの空きが十分にあることを確認してから作業してください。
- メニューから「ファイル」>「仮想メディアマネージャー」を選択
- 「ハードディスク」タブから、該当のものを選択
- 「コピー」ボタンで複製画面表示
- 「ディスクイメージ=VDI(VirtualBox Disk Image)」「物理ハードディスクにあるストレージ=可変サイズ」を選択し、適当な名前をつけて「コピー」実施。
- 仮想メディアマネージャーを閉じる
- ゲストマシンを選択し、「設定」>「ストレージ」
- 現在のストレージ(.vmdk)を選択して、画面右側の「属性:ハードディスク」のところから、複製したハードディスク(.vdi)を選択し、差し替えをして、「OK」
- ゲストマシンを起動し、以前と変わりなく起動することを確認したら、その仮想マシンは一度シャットダウンする。
- メニューから「ファイル」>「仮想メディアマネージャー」を選択
- 「ハードディスク」タブから、該当のものを選択
- 「プロパティ」ボタンで、プロパティ表示
- 「属性」タブの「サイズ」で、サイズ変更して「適用」
拡張したストレージをLinux OSに認識させる
もうViartualBox関係ない世界の話ですね。
vdiに差し替え、サイズ拡張まで済んだら、ゲストマシンを起動して、以下の手順を実行します。
(キャプチャ用に新しいOS立てたので、ディスク使用率が低い状態ですが、あしからず)
「.vdi」拡張前
# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_cent610-lv_root ext4 15874468 956936 14104476 7% / tmpfs tmpfs 1961200 0 1961200 0% /dev/shm /dev/sda1 ext4 487652 53086 408966 12% /boot # ls -l /dev/sd* brw-rw----. 1 root disk 8, 0 Jan 16 20:37 /dev/sda brw-rw----. 1 root disk 8, 1 Jan 16 20:37 /dev/sda1 brw-rw----. 1 root disk 8, 2 Jan 16 20:37 /dev/sda2
「.vdi」拡張後から、拡張分をパーティションとして認識させるまで。
fdiskで拡張した領域を「/dev/sda3」として認識させるのですが、rootボリュームが乗っているディスクなので、再起動後に認識します。
が、まだrootボリュームの一部としては認識されません。
# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_cent610-lv_root ext4 15874468 851436 14209976 6% / tmpfs tmpfs 1961132 0 1961132 0% /dev/shm /dev/sda1 ext4 487652 53086 408966 12% /boot # ls -l /dev/sd* brw-rw----. 1 root disk 8, 0 Jan 16 20:44 /dev/sda brw-rw----. 1 root disk 8, 1 Jan 16 20:44 /dev/sda1 brw-rw----. 1 root disk 8, 2 Jan 16 20:44 /dev/sda2 # fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (2611-5221, default 2611): Using default value 2611 Last cylinder, +cylinders or +size{K,M,G} (2611-5221, default 5221): Using default value 5221 Command (m for help): 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 or after you run partprobe(8) or kpartx(8) Syncing disks. # reboot
再起動後、追加したパーティションをルートボリュームに組み込むまで。
vgdisplayコマンドで「VG Name」を確認しておき、「vgextend
その後、resize2fsで、/dev/mapper/vg_cent610-lv_rootに組み込まれて「/」にマウントされている1つのボリュームとして認識されるようになります。
# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_cent610-lv_root ext4 15874468 851488 14209924 6% / tmpfs tmpfs 1961132 0 1961132 0% /dev/shm /dev/sda1 ext4 487652 53086 408966 12% /boot # ls -l /dev/sd* brw-rw----. 1 root disk 8, 0 Jan 16 20:49 /dev/sda brw-rw----. 1 root disk 8, 1 Jan 16 20:49 /dev/sda1 brw-rw----. 1 root disk 8, 2 Jan 16 20:49 /dev/sda2 brw-rw----. 1 root disk 8, 3 Jan 16 20:49 /dev/sda3 # vgdisplay --- Volume group --- VG Name vg_cent610 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 19.51 GiB PE Size 4.00 MiB Total PE 4994 Alloc PE / Size 4994 / 19.51 GiB Free PE / Size 0 / 0 VG UUID K1PV0L-ZWUX-ZYw7-Iuap-MIgy-BCv9-SehlS0 # vgextend vg_cent610 /dev/sda3 Physical volume "/dev/sda3" successfully created Volume group "vg_cent610" successfully extended # vgdisplay --- Volume group --- VG Name vg_cent610 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 39.50 GiB PE Size 4.00 MiB Total PE 10112 Alloc PE / Size 4994 / 19.51 GiB Free PE / Size 5118 / 19.99 GiB VG UUID K1PV0L-ZWUX-ZYw7-Iuap-MIgy-BCv9-SehlS0 # lvdisplay --- Logical volume --- LV Path /dev/vg_cent610/lv_root LV Name lv_root VG Name vg_cent610 LV UUID pP70Tl-e6tL-VBdv-7uGJ-a1yn-3PCF-dO9h7j LV Write Access read/write LV Creation host, time cent610, 2019-01-16 20:33:47 -0500 LV Status available # open 1 LV Size 15.51 GiB Current LE 3970 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Path /dev/vg_cent610/lv_swap LV Name lv_swap VG Name vg_cent610 LV UUID QCUWCL-EFa0-23cq-DeuK-Y3Vh-VmCX-rG64kC LV Write Access read/write LV Creation host, time cent610, 2019-01-16 20:33:53 -0500 LV Status available # open 1 LV Size 4.00 GiB Current LE 1024 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 # lvextend -l +100%FREE /dev/vg_cent610/lv_root Size of logical volume vg_cent610/lv_root changed from 15.51 GiB (3970 extents) to 35.50 GiB (9088 extents). Logical volume lv_root successfully resized. # resize2fs /dev/vg_cent610/lv_root resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vg_cent610/lv_root is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 3 Performing an on-line resize of /dev/vg_cent610/lv_root to 9306112 (4k) blocks. The filesystem on /dev/vg_cent610/lv_root is now 9306112 blocks long. # df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_cent610-lv_root ext4 36512688 861592 33796272 3% / tmpfs tmpfs 1961216 0 1961216 0% /dev/shm /dev/sda1 ext4 487652 53086 408966 12% /boot
こんな感じで、「/」が20GB - (「/boot」+ 「/swap」) から40GB - (「/boot」+ 「/swap」) に引き上げられました。
問題なければ、古い「.vmdk」は削除しましょう。
VirtualBoxの「仮想メディアマネージャー」から「除去」で削除します。
(ファイルの実体だけを直接削除すると、ViartulBox側で持っているメタデータと不一致になり、仮想メディアマネージャ上に残って「参照不可」のマークが付きます。)
VirtualBox本って無いよね
それって、本で解説するほど難しくないって理解でいいのかな。実際、これといって不自由なく使えてるし。
Vagrant本は結構あるので、なんとなくコレを貼っておきます。
Linuxコマンド側の理解を深めたいときは、Linux本をあたりましょう。
- 作者: 新原雅司
- 出版社/メーカー: 技術評論社
- 発売日: 2013/09/12
- メディア: Kindle版
- この商品を含むブログ (5件) を見る