わりと辛かったのでメモ
講義でqcow2な形式を拡張して,LinuxのKarnelをbuildする必要があったのだが,root権限が使えない一般ユーザーなので 自分で出来るVirtualBoxでやってみる. 気合と書いてるのはその為.
なぜVirtualBoxを使わないといけないのか
どうもVirtualBoxで初期に振ったHDD容量以外は
fdisk /dev/sda
しても降ることが出来ないらしい….今回は2時間くらいそこで悩んだ
VirtualBoxでの操作
まずは拡張したいVirtualBoxのイメージをCloneしておく. 右クリックでClone押せば出来るっぽい.(なぜかCloneする時のアイコンが羊です) それで拡張する為に一旦shut downしておく.
ターミナル上での操作
まずはローカルで ~/VirtualBox VMs
にcd.
続いて容量の確認
$ VBoxManage showhdinfo anagura.vdi UUID: 4e7f002a-a846-4880-a960-c59912501cd0 Parent UUID: base State: created Type: normal (base) Location: /Users/e155730/VirtualBox VMs/anagura/anagura.vdi Storage format: VDI Format variant: dynamic default Capacity: 50000 MBytes Size on disk: 4898 MBytes Encryption: disabled In use by VMs: anagura (UUID: c4dfd1e7-5ebd-44d6-abb3-c12a3494529d)
ここの Capacityが問題.今回はやった後なんでわりとでかいが,8Gb程度になってるはず. さて変換 30Gほどあれば良いか
$ VBoxManage modifyhd clone-disk1.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
多分確認すれば増えている筈.
実際に反映させていく
さてこれでHDDを物理的に増やした(仮想的だけど)ので,それを実際にマシン側に反映させていく.
とりあえず先程反映させたVMを起動,rootあたりで入っておく.(一応suとかしてrootになっとく)
まずは今現在のパーティション環境を確認したいので
$ fdisk /dev/sda fdisk (util-linux 2.28.2) へようこそ。 ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。 書き込みコマンドを使用する際は、注意して実行してください。 コマンド (m でヘルプ):
な画面を表示させる.ここで確認はpだからおもむろにpを押すと
デバイス 起動 開始位置 最後から セクタ サイズ Id タイプ /dev/sda1 * 2048 1026047 1024000 500M 83 Linux /dev/sda2 1026048 16777215 15751168 7.5G 8e Linux LVM
な画面が表示される. これは後々使うのでメモっておいてください
ここでsda2の方を拡張するのでsda2を消す.(先の段階でサイズが直ってたら変更する必要ない) fdisk内でdを選択
コマンド (m でヘルプ): d パーティション番号 (1,2, 既定値 2): 2 パーティション 2 を削除しました
な感じで削除. 続いて サイズ変更fdisk内でnを選択して作る この時 開始位置を最初の通りに設定する こと.多分デフォルトでそうなってる. 終了位置を書かれてるMAXに設定して,再びp をすると大きくなっている.
ここでファイルに反映させるので必ずwを推して書き込ませること.
で,実際に反映させる.
$pvresize /dev/sda2 Physical volume "/dev/sda2" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
さて変更されているか.
$ pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name fedora_401 PV Size 48.34 GiB / not usable 2.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 12374 Free PE 10452 Allocated PE 1922 PV UUID QmA0cN-CnqX-2nFy-2FoX-JFh0-cWhP-V51KUs
やっためう!! さて続いては論理的に拡張
今回は /dev/mapper/fedora(fedora_401)-root
に対して行う
$ lvextend -l +100%FREE /dev/mapper/fedora_401-root Size of logical volume fedora_401/root changed from 6.71 GiB (1717 extents) to 47.54 GiB (12169 extents). Logical volume root successfully resized.
確認しとく
[root@401]/home/anagura# lvdisplay --- Logical volume --- LV Path /dev/fedora_401/swap LV Name swap VG Name fedora_401 LV UUID RyM5Tj-qGQN-PM13-gMUo-Uy7R-SdDd-4Id4Yt LV Write Access read/write LV Creation host, time 401.pc.ie.u-ryukyu.ac.jp, 2016-10-14 20:13:39 +0900 LV Status available # open 2 LV Size 820.00 MiB Current LE 205 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Logical volume --- LV Path /dev/fedora_401/root LV Name root VG Name fedora_401 LV UUID LJZan7-IpRp-7ssR-0BbZ-rovN-LcLz-7QMzpR LV Write Access read/write LV Creation host, time 401.pc.ie.u-ryukyu.ac.jp, 2016-10-14 20:13:39 +0900 LV Status available # open 1 LV Size 47.54 GiB Current LE 12169 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
おーけー.
ここで resize2fs /dev/mapper/fedora_401-root
したさはあるが,これは古いらしく
$xfs_growfs /dev/mapper/fedora_401-root meta-data=/dev/mapper/fedora_401-root isize=512 agcount=4, agsize=439552 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1 spinodes=0 data = bsize=4096 blocks=1758208, 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 1758208 to 12461056
で行う.
$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 359M 0 359M 0% /dev tmpfs 371M 0 371M 0% /dev/shm tmpfs 371M 584K 370M 1% /run tmpfs 371M 0 371M 0% /sys/fs/cgroup /dev/mapper/fedora_401-root 48G 3.8G 44G 8% / tmpfs 371M 8.0K 371M 1% /tmp /dev/sda1 477M 155M 293M 35% /boot tmpfs 75M 0 75M 0% /run/user/1000
無事変更されてる.良かった.
この辺参考にすると良い? qiita.com