現在の IT システム業界はハードウェアに OS を直接インストールするタイプではなく、1 つのハードウェアに複数の OS を仮想マシンとして利用するスタイルが一般的になっているが、仮想マシンを利用しているとログやデータが増えて保存する空き領域が少なくなるため、ディスクを拡張する方法について紹介する。
このページの目次
1.仮想マシンはリソースを自由に変更できるメリットがある
パソコンやサーバ上にさらに違う OS 起動することができる仮想マシンは、個々のマシンの CPU やメモリといったリソースを自由に変更できるメリットがある。
一般家庭で利用しているパソコンはハードウェアに対して 1 つの OS がインストールされており、CPU やメモリを変更したい場合はハードウェアを換装する必要があり、コストや作業が発生する。
それに対して仮想マシンは、仮想的に起動する OS(ゲストマシン)が利用するリソースは仮想マシンが動作するマシン(ホストマシン)から割り当てるため、ホストマシンが持つ CPU やメモリを上限に自由に増減させることができる。
仮想マシンを実現するためには専用のソフトウェアが必要となり、VMware Player や ESXi はシステム業界でよく利用されているツールの 1 つである。
2.VMware とは
VMware とは、ホストマシン上で複数の OS やソフトウエアを動作させる仮想マシンのソフトウエアを提供している企業名である。
個人向けと法人向けで提供しているツールが異なり、個人向けは「Vmware Player」、法人向けには「Vmware ESXi」が利用されている。
Vmware のソフトウェアは仮想マシンとなる Windows や Linux の OS のイメージデータ(ISO)を読み込むことで 1 つのハードウェア上で複数の仮想マシンを動作させることができる。
また、Vmware のソフトウェアで起動した仮想マシンは IP アドレスを持っているのでインターネット通信の他、ゲストマシンとホストマシンとの間でデータのやり取りも可能になっている。
3.Vmware で仮想マシンのディスクを拡張する方法
Vmware で仮想マシンのディスクを拡張する方法としては、「Vmware Player」または「Vmware ESXi」の各ゲストマシンの設定画面から行うことができる。
ホストマシン側で増やしたディスクは、ゲストマシンも認識できるように OS の設定作業も必要となる。
今回は仮想マシンのディスクを拡張する前提として、拡張前のストレージが 20.0GB で作成していた仮想マシンを 50.0GB にする例を Vmware Player で紹介する。
3-1.Vmware Workstation Player でディスクを増やす
まず最初に Vmware Workstation Player でディスクを増やす。
Vmware Player を起動すると下図のように仮想マシンの一覧が表示されるので、ディスクを拡張したいマシンを選択して「仮想マシン設定の編集」を選択する。
「仮想マシン設定の編集」をクリックするとリソース等の仮想マシンの設定を行うウィンドウが表示されるため、タブ「ハードウェア」で『ハードディスク』を選択し、「ディスク容量の拡張」の右にあるボタン「展開」をクリックする。
ボタン「拡張」をクリックすると仮想マシン作成時と同様のリソースを割り当てる数値の入力欄が表示されるため、拡張したい数値を入力する。
3-2.OS が認識しているディスク容量を確認する
ホストマシン側で割り当てるディスクを設定した後は、ゲストマシン側で割り当てられたディスクを認識させる作業が発生する。
そこで、ディスクの拡張前の OS が認識しているディスク容量を確認する。
# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 898M 0 898M 0% /dev tmpfs 910M 0 910M 0% /dev/shm tmpfs 910M 9.6M 901M 2% /run tmpfs 910M 0 910M 0% /sys/fs/cgroup /dev/mapper/centos-root 17G 7.8G 9.3G 46% / ← ここを増やす /dev/sda1 1014M 151M 864M 15% /boot tmpfs 182M 0 182M 0% /run/user/0
上記のように、サイズを確認する df コマンドを実行するとサイズが 20GB(実際は 17GB)として認識していることがわかる。
3-3.既存仮想 HDD を拡張する
次にゲストマシンのディスクを OS が認識できるように parted コマンドで設定する。
parted コマンドは対話型のため、下記のように適宜、情報を与えながら進める。
# parted GNU Parted 3.1 /dev/sda を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 (parted) p ← p を入力して状態を確認 モデル: VMware, VMware Virtual S (scsi) ディスク /dev/sda: 53.7GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos ディスクフラグ: 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 1 1049kB 1075MB 1074MB primary xfs boot 2 1075MB 21.5GB 20.4GB primary lvm (parted) resizepart 2 ← 2 を入力 終了? [21.5GB]? 100% ← 100% を入力 (parted) p ←【※】p を入力して状態を確認(パーティション 2 が 50GB になっている) モデル: VMware, VMware Virtual S (scsi) ディスク /dev/sda: 53.7GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos ディスクフラグ: 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 1 1049kB 1075MB 1074MB primary xfs boot 2 1075MB 53.7GB 52.6GB primary lvm (parted) q ← q を入力して終了する
3-4.パーティションを作り直す
OS が拡張したディスクを認識したところで、実際に拡張した領域にも読み書きできるようにパーティションを作り直す。
まずは lsblk コマンドでディスクが増えていることと、利用するディスクネームを確認する。
# lsblk -p NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/sda 8:0 0 50G 0 disk ← 増えているのを確認 tq/dev/sda1 8:1 0 1G 0 part /boot mq/dev/sda2 8:2 0 49G 0 part tq/dev/mapper/centos-root 253:0 0 17G 0 lvm / mq/dev/mapper/centos-swap 253:1 0 2G 0 lvm [SWAP] /dev/sr0 11:0 1 1024M 0 rom
次に fdisk コマンドで対話型で進める。
# fdisk /dev/sda ← 拡張するディスク名を指定 Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. コマンド (m でヘルプ): d ← d を入力して削除 パーティション番号 (1,2, default 2): 2 ← 2 を入力 Partition 2 is deleted コマンド (m でヘルプ): n ← n を入力して追加 Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p ← p を入力 パーティション番号 (2-4, default 2): 2 ← 2 を入力 最初 sector (2099200-104857599, 初期値 2099200):2099200 初期値 2099200 を使います Last sector, +sectors or +size{K,M,G} (2099200-104857599, 初期値 104857599):104857599 初期値 104857599 を使います Partition 2 of type Linux and of size 49 GiB is set コマンド (m でヘルプ): t ← t を入力 パーティション番号 (1,2, default 2): 2 ← 2 を入力 Hex code (type L to list all codes): L ← L を入力 0 空 24 NEC DOS 81 Minix / 古い Li bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux スワップ c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 隠し C: ド c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux 拡張領域 c7 Syrinx 5 拡張領域 41 PPC PReP Boot 86 NTFS ボリューム da 非 FS データ 6 FAT16 42 SFS 87 NTFS ボリューム db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux プレーン de Dell ユーティリ 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX ブート可能 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 ブートマネ 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad ハ eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 拡張領域 (L 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC 11 隠し FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq 診断 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 隠し FAT16 <32M 61 SpeedStor ab Darwin ブート f2 DOS セカンダリ 16 隠し FAT16 63 GNU HURD または af HFS / HFS+ fb VMware VMFS 17 隠し HPFS/NTFS 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI スワップ fd Linux raid 自動 1b 隠し W95 FAT32 70 DiskSecure Mult bb 隠し Boot Wizar fe LANstep 1c 隠し W95 FAT32 75 PC/IX be Solaris ブート ff BBT 1e 隠し W95 FAT16 80 古い Minix Hex code (type L to list all codes): 8e ← 8e を入力(前段で Linux LV を選ぶ) Changed type of partition 'Linux' to 'Linux LVM' コマンド (m でヘルプ): p ← t を入力して確認 Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト Disk label type: dos ディスク識別子: 0x000c6bba デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 104857599 51379200 8e Linux LVM コマンド (m でヘルプ): w ← w を入力して書き込み終了 パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 WARNING: Re-reading the partition table failed with error 16: デバイスもしくはリソースがビジー状態です. 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) ディスクを同期しています。
3-5.OS を再起動する
OS のディスク拡張の処理が終われば、適応させるために OS を再起動させる。
3-6.物理ボリュームのサイズを変更する
続いて、物理ボリュームのサイズを変更する pvresize を実行する。
# pvresize /dev/sda2 File descriptor 6 (/dev/pts/0) leaked on pvresize invocation. Parent PID 1436: -bash Physical volume "/dev/sda2" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
3-7.空き容量全て(+100%FREE)を論理ボリューム「centos-root」に追加する
物理ボリュームの変更の後は、論理ボリュームに「centos-root」を追加する
# lvextend -l +100%FREE /dev/mapper/centos-root File descriptor 6 (/dev/pts/0) leaked on lvextend invocation. Parent PID 1436: -bash Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <47.00 GiB (12031 extents). Logical volume centos/root successfully resized.
3-8.論理ボリューム上のファイルシステムをリサイズする
最後に論理ボリューム上のファイルシステムをリサイズすることで完了となる。
# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1113856 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=4455424, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 4455424 to 12319744
3-9.ディスクの状態を確認する
最初に df コマンドで OS が認識しているディスクが増えているか確認すると、元が 20GB だったのが 50GB(実際は 47GB)に増えているのがわかる。
# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 898M 0 898M 0% /dev tmpfs 910M 0 910M 0% /dev/shm tmpfs 910M 9.5M 901M 2% /run tmpfs 910M 0 910M 0% /sys/fs/cgroup /dev/mapper/centos-root 47G 7.8G 40G 17% / ← 増えている /dev/sda1 1014M 151M 864M 15% /boot tmpfs 182M 0 182M 0% /run/user/0
関連記事
圧縮・解凍ソフトの 7-Zip でパスワード付き圧縮を行う方法
企業間でメールにファイルを添付してデータのやり取りを行う際に、パスワード付き圧縮する PPAP の運用を取り入れているところは多いが、未だファイルをそのまま送信しているところもあるため、圧縮・解凍ソフトの 7-Zip でパスワード付き圧縮…
Windows の評価版を入手し、VMware Player で動作させる方法
家庭や仕事で利用する Windows パソコンは電源を入れるとすぐに起動するようになっているが、起動した Windows 内でさらに違う Windows を起動することでソフトやデータを使い分けることができ、今回は Windows の評価版を入手し、VMware Pl…
Photoshop には部分的に色調を変えたり、切り取るために四角形や丸型で選択範囲を指定する他、色合いを自動的に認識して色の境界線で選択範囲が変わる「自動選択ツール」が用意されているが、色合いや切り取りなど自分な好きな範囲で選択範…