わりと辛かったのでメモ
講義でqcow2な形式を拡張して,LinuxのKarnelをbuildする必要があったのだが,root権限が使えない一般ユーザーなので
自分で出来るVirtualBoxでやってみる.
気合と書いてるのはその為.
どうもVirtualBoxで初期に振ったHDD容量以外は
fdisk /dev/sda
しても降ることが出来ないらしい….今回は2時間くらいそこで悩んだ
まずは拡張したい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