スキップしてメイン コンテンツに移動

VirtualBox にて 仮想化した HDイメージのサイズ変更

仮想環境で構築した CentOS のHD容量が足りなく、アップデートができなくなった。
このため、ディスクイメージのサイズを変更し、アップデートできるようにした。

ホストOS Win10
ゲストOS CentOS7


手順は次の通り。

  1. VirtualBox で作成したイメージファイルのサイズ変更
  2. ゲストOS上で認識するHDサイズの変更
  3. LVMの論理パーテーションのサイズ変更
  4. ファイルシステムに応じたパーテーションの拡張

1. まずは、ホストOS上よりコマンドラインから次のように実行する。

VBoxManage modifymedium disk ディスクファイル名 --resize 変更後のサイズ

なお、上記コマンドは VBoxManege にパスが通っている場合であり、
ホストOSがWindowsである場合はそうでないので、
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
と入力する必要がある。
また、仮想イメージファイルは "vdi" である必要があるかもしれない。(未確認)

この実行時のバージョンは 5.2.26 であった。
>"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
Oracle VM VirtualBox Command Line Management Interface Version 5.2.26
(C) 2005-2019 Oracle Corporation
All rights reserved.

このコマンドは以前と変わっている。以前は次のようにしていた。

VBoxManage modifyhd ディスクファイル名 —-resize 変更後のサイズ



2. ゲストOSではないOSから起動し、パーテーションを拡大する。

今回は、Gparted Live CD を使った。
 Gparted https://ja.osdn.net/projects/gparted/releases/
Live CD で Gparted が起動できれば何でも良い。

Gparted で拡大したいHDDを選択し、パーテーションを拡大する。
間違えないように注意。



3. CentOSを起動しディスクパーティションのサイズを拡大する。
CentOSのディスクボリュームは LVM である為、lvextend コマンドを用いる。

$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos-root 2.6G 2.4G 258M 91% /

次のコマンドで 論理パーテーション/dev/mapper/centos-root に 5GBを割り当てる。
# lvextend -L 5G /dev/mapper/centos-root

5G を +100%FREE にすると、残りが全部割り当てられる。
lsblk コマンドで割り当てられている容量を確認できる。



4. ファイルシステムを確認し、拡張を行う。
$ df -T
で現在のファイルシステムを確認。

ファイルシステムが xfs なので次のコマンドでサイズを拡張する。
# xfs_growfs /dev/mapper/centos-root

次のコマンドでサイズを確認する。
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos-root 3.6G 2.4G 1.3G 66% /

コメント

このブログの人気の投稿

Ubuntu で RAIDディスクをマウントする

謎のHDDが見つかった。 データを確認するためWindowsにつなぐもマウントされず。 これは extとかffsの辺りかなと思い、Linux(Ubuntu)に繋ぐ。 しかし、自動マウントされない。 取り敢えずマウントする。 # mount /dev/sdb1 /mnt/disk すると'linux_raid_member'とエラー表示された。 ということで、まずファイルシステムを確認。 # parted -l このコマンドでファイルシステムが表示される。 また、Gparted でも表示される。 そこでRAIDディスクを扱うためにmdadmパッケージをインストール。 # apt install mdadm ネットでは mountコマンドの -t オプションで明示的にファイルシステムを指定するとマウントできると書いてあったのでそれを試すとマウントできた。 # mount -t ext3 /dev/sdb1 /mnt/disk 内容を確認すると不要なデータだったのでデータを削除する。 # shred -v /deb/sdb この処理はとても時間がかかるので普段使わないコンピュータで処理をした。

Perl/Tk の基本的なこと

X を利用したアプリケーションを作る方法は色々あるが、Tk を用いると簡単に出来る。 Tk - Wikipedia https://ja.wikipedia.org/wiki/Tk_(ツールキット) Tk で作るWindowをどの言語で書くかによって変わってくるが、Tcl/Tkが最も有名かもしれない。 Tcl/Tk - Wikipedia https://ja.wikipedia.org/wiki/Tcl/Tk wish (Windowing Shell) を用いてスクリプトを組むことでグラフィカルなアプリを作れる。 Tclはこのwishで使われるプログラミング言語であり、簡単に使える。かなり多くのシステムに導入されていることもあり、特に何かをインストールせずとも使うことが出来る。 このTclの部分をperlに置き換えたものがPerl/Tkである。 Perl/Tk インストール Perl/Tk は Tcl/Tk と違いデフォルトでインストールされていないことが多い。 ubuntuだと perl-tk をインストールすると使えるようになる。 # apt install perl-tk 取り敢えず作ってみる 次のようなサンプルファイル sample.pl を作る。 sample.pl use utf8; use Tk; # トップウィンドウを作る $top = MainWindow->new(); # ウィンドウ内に文字(ラベル)を表示する $label = $top->Label(-text => "ここに文字を書く")->pack(); # ウィンドウを生成する MainLoop(); ちなみに文字コードは UTF-8 になってる。 $ file sample.pl sample.pl: UTF-8 Unicode text 次のコマンドで実行する。 $ perl sample.pl 実行できる形の sample.pl Shebang を書いて実行ファイルとしても実行できる。 たぶん次のようなファイルになる。 一行目のShebangは環境によって異なるが多くのシステムは多分これで通る。 #!/usr/bin/perl use utf8; use...

自動ログイン on Lubuntu

Lubuntu 19.04 の 自動ログインを設定してみた。 グラフィカルログインを自動で行うようにしたいが、 ユーザー設定 の中に自動ログインの設定がない。 そこでコマンドラインから設定してみた。 まず、ログインをするときに使用しているディスプレイマネージャを確認する。 $ cat /etc/X11/default-display-manager /usr/bin/sddm sddm を使っているので、sddm の自動ログインを設定する。 OSは systemd で動いていると設定ファイルがないようなので作成する。 # sddm --example-config > /etc/sddm.conf.d/sddm.conf この設定ファイルに Autologin について書いてあるのでここにユーザ名を入力。 $ head /etc/sddm.conf.d/sddm.conf [Autologin] # Whether sddm should automatically log back into sessions when they exit Relogin=false # Name of session file for autologin session (if empty try last logged in) Session= # Username for autologin session User= ここの User= にユーザ名を書き込み保存後、再起動すると自動でログインされる。