砂漠を旅する中で、拠点の土地が手狭になるという、冒険者なら誰もが直面する問題に遭遇した。今回はその解決策を羊皮紙に記しておこう。
仮想環境という名の砂場に、新たなLinuxの拠点を築く時、我々はつい土地をギリギリで見積もってしまう。しかし、冒険を続けるうちに、拠点が手狭になるのは世の常だ。特にRedHat系の民が好むXFSという大地は、一度固まると広げるのが難しいとされ、その方法を記した古文書は極端に少ない。
私もかつて、その情報の砂漠で途方に暮れた一人だ。しかし、諦めずに砂を掘り続け、ついにその秘儀を会得した。以前、Rocky Linuxという拠点で成功したこの儀式を、今回はAlmaLinuxという新たな土地で再現し、その手順の全てを、未来の開拓者のためにこの羊皮紙に刻み込む。
この羊皮紙のあらまし
- この羊皮紙のあらまし
- この羊皮紙が導く者
- 砂漠の道標
- 第一の儀式:大地の拡張(VMwareでのディスク増設)
- 第二の儀式:境界線の引き直し(パーティション拡張)
- 第三の儀式:新たな土地への祝福(論理ボリューム拡張)
- 羊皮紙を巻く前に
- 砂漠で見つけた魔法のランプ
- ラクダの独り言
この羊皮紙が導く者
- XFSという名の固い大地を、なんとかして広げたいと願う開拓者
- RedHat系の拠点を築く際の、土地の分割術に興味がある建築家
- VMware上でAlmaLinuxやRocky Linuxのディスク容量に悩む旅人
- LVMとXFSの組み合わせによる拡張手順を知りたい技術者
砂漠の道標
- XFS - Red Hat Enterprise Linux(RHEL)系で標準採用されているファイルシステム。大容量ファイルの扱いに優れ、高速だが、作成後の縮小はできない。
- パーティション - ディスクを論理的に分割する区画。複数のパーティションに分けることで、OSとデータを分離管理できる。
- LVM(Logical Volume Manager) - 物理ディスクを柔軟に管理する仕組み。パーティションの動的な拡張・縮小が可能になる。
- ファイルシステム - ディスク上でファイルやディレクトリを管理する仕組み。XFS、ext4、Btrfsなど、様々な種類が存在する。
- VMware - 仮想マシンを作成・管理するための仮想化ソフトウェア。物理マシン上で複数のOSを同時に動作させられる。
- AlmaLinux - Red Hat Enterprise Linux(RHEL)のクローン。CentOSの後継として注目される無料の企業向けLinux。
第一の儀式:大地の拡張(VMwareでのディスク増設)
まずは、我らが創造主(VMware)の力を借り、拠点が立つ大地そのものを広げる。 AlmaLinuxという魂を眠らせた後、仮想マシンの設定画面でハードディスク(NVMe:高速ストレージ規格)を選び、「展開」の呪文を唱える。今回は100Gの大地を150Gへと拡張した。
儀式を終え再び魂を呼び覚ますと、大地は確かに広がっている。しかし、まだ我々の拠点(ファイルシステム)には反映されていない。
第二の儀式:境界線の引き直し(パーティション拡張)
ここからが本番だ。新たに得た50Gの土地を、居住区(/:ルートディレクトリ)に30G、庭(/home:ユーザーディレクトリ)に20G、それぞれ分け与える。
まずは、儀式に必要な魔法の道具を揃える。
$ sudo dnf install gdisk cloud-utils-growpart
lsblkで現在の大地の境界線を確認し、広げるべき土地(nvme0n1)を特定する。
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS ... nvme0n1 259:0 0 150G 0 disk ├─nvme0n1p1 259:1 0 1G 0 part /boot └─nvme0n1p2 259:2 0 99G 0 part ...
growpartという強力な呪文で、このパーティション2の境界線を、大地の果てまで一気に広げるのだ。
$ sudo growpart /dev/nvme0n1 2 CHANGED: partition=2 start=2099200 old: size=207616000 end=209715199 new: size=312473567 end=314572766
gdisk(ディスクパーティション管理ツール)で詳細を見ると、99Gのnvme0n1p2に50Gの未開の土地が続いているのがわかる。
これで、物理的な境界線は引き直された。
第三の儀式:新たな土地への祝福(論理ボリューム拡張)
境界は広がったが、まだ神々(LVM:論理ボリューム管理システム)はこの土地を認識していない。lvextendの呪文で、論理的な区画を広げ、神々の祝福を得る。
居住区(/)の拡張
まずは居住区を30G広げる。
$ sudo lvextend -L+30G /dev/almalinux/root
庭(/home)の拡張
次に、残った全ての未開拓地を庭に与える。
$ sudo lvextend -l +100%FREE /dev/almalinux/home
祝福の浸透
最後に、xfs_growfs(XFSファイルシステム拡張コマンド)という聖なる水で広がった土地を清め、XFSという大地に祝福を完全に浸透させる。
$ sudo xfs_growfs /dev/almalinux/root $ sudo xfs_growfs /dev/almalinux/home
df(ディスク使用状況表示コマンド)で確認すれば、この通り。我々の拠点は、見事にその版図を広げたのだ。
羊皮紙を巻く前に
情報の砂漠で途方に暮れていたXFSフォーマットのディスク拡張。その秘儀を実際に体験し、この羊皮紙に記録することができた。
XFSディスク拡張の重要なポイント
- VMware側のディスク展開が第一歩 - 仮想マシン設定でハードディスクを拡張することで、物理的な大地を広げる
- growpartによる境界線の引き直し - パーティション拡張の強力な呪文。
growpart /dev/nvme0n1 2で一気に境界を広げる - lvextendでの論理ボリューム拡張 - LVMの力を借りて、
-L+30Gや-l +100%FREEで柔軟に配分 - xfs_growfsによる祝福の浸透 - 最後の儀式。これでXFSファイルシステムに変更が反映される
AlmaLinux自動構成の落とし穴
AlmaLinuxを自動構成でインストールすると、ルート(/)は最大70Gで頭打ちになる。データベースのような巨大な神殿を築く予定があるなら、最初の拠点作りの段階で「カスタム構成」を選ぶべきだろう。
まとめ
XFSの拡張は、情報が少なく一見難解に思える。しかし、一度手順を覚えてしまえば、VMware→パーティション→論理ボリューム→ファイルシステムという、明確な段階を踏む単純な儀式の組み合わせだ。この記録が、同じように土地の狭さに悩む未来の開拓者たちの道標となることを願う。
おっと、どうやら相棒が「また土地を広げるのか」と呆れ顔だ。今日はこのへんで筆を置くとしよう。
砂漠で見つけた魔法のランプ
この秘儀は、先人たちの残した断片的な古文書と、私自身の試行錯誤の末に編み出されたものである。その儀式で用いた、古の呪文の源流をここに記す。
- lsblk - Linux manual page | 大地の境界線を確認する呪文
- gdisk - Linux man page | 大地の詳細を読み解く呪文
- growpart - Ubuntu Manpage | 境界線を広げるための強力な呪文
- lvextend - Linux manual page | 神々(LVM)に祝福を求める呪文
- xfs_growfs - Linux manual page | 広げた土地を清める聖なる水の呪文
ラクダの独り言
ご主人が「土地が狭い」だの「もっと広げたい」だの、ぶつぶつ言いながら光る板を叩いている。俺に言わせりゃ、この広大な砂漠、どこだって寝床になるってもんだ。 人間ってのは、どうしてこう、目に見えない境界線にこだわるのかねえ。まあ、そのおかげで俺の寝床も広くなるんだから、文句は言わねえけどな。やれやれだぜ。