ひこぽんのーと

覚書と雑記です。

Ubuntu インストール時に手動でLVMパーティションを編成する方法

Ubuntuをインストールする際、
ディスクのパーティションをどうするかを選ぶことができるが、

  • ディスクをフォーマットし、自動編成する(オプションでLVM管理とするか否かを指定可)、
  • 手動でパーティション編成する
  • パーティションを変えず、上書きする

位しかできない。

インストーラでは手動パーティション編成を選んでも、LVM管理の操作は行えない。
パーティションを自分で編集し、
なおかつLVM管理としたい場合はどうしたら良いのかがわからなかった。

調べてみると、インストーラを起動する前に、事前にディスク操作が必要らしい。

少し古いがこの記事が役に立った。
ubuntu12.04 LTSまでの記述だったが、14.04 LTSでも同じ操作で問題なかった。

UbuntuDesktopLVM - Community Help Wiki

ここの手順は基本コマンドで対応するのだけれど、
なるべくGUIで操作したかったので、
そのあたりを記録しておく。

以下、実施した手順。

UbuntuのLive CDなりUSBメディアなりで起動。

ルートを含む起動中のディスクは編集できないので、別のメディアから起動する。

Dashからディスクを起動

 f:id:nagamitsu1976:20160415082746p:plain
画面から既存のパーティションを削除して、まずは物理的にパーティションを切る。
ここではBoot領域、Ubuntu領域、別OS領域とした。

領域名 タイプ フォーマット 備考
boot領域 primary ext2 自動インストール時に/bootがext2だったので。
Ubuntu領域 extended - 拡張領域に論理領域を作る事になる。
別OS領域 primary ext4 ここにインストールするOSがLVMを扱えるなら、このようにパーティションをわけずに、LVM論理パーティションの一つにできるのだが。

Gparted (Gparted パーティション編集ツール)を起動

Live CDに含まれるGpartedを使用して拡張領域に論理領域を作成する。
(画像は作成後のもの。作成時はマウントポイントもラベルもブランクでOK)
f:id:nagamitsu1976:20160415113741p:plain
/dev/sda2の拡張領域上にカーソルを合わせると、ツールバーの追加ボタンが有効になるので押す。
領域サイズとファイルシステムタイプを問われるので、
領域サイズは"すべて"、ファイルシステムタイプは"lvm2 pv"とする。
ダイアログを閉じるとパーティションは"新規追加"みたいな表示だけで、まだ確定されていない。
編集内容はツールバーの保存ボタンを押すと反映される。

ここまではLVM管理の受け皿を作ったに過ぎず、
実際のボリューム設定はコマンドで行った。
参考元の記事を見ながらやれば、間違いが少ない。

pvcreate 論理領域に物理ボリュームを作る

sudo pvcreate /dev/sda5

vgcreate ボリュームグループを作る

sudo vgcreate ubuntu-vg /dev/sda5

lvcreate 論理ボリューム、論理swapを作る

sudo lvcreate -L 16G -n lvswap ubuntu-vg
sudo lvcreate -l 100%FREE -n lvroot ubuntu-vg

lvdisplay 論理ボリュームの確認

sudo lvdisplay

mkfs.XXX mkswap ファイルシステムの作成

sudo mkfs.ext4 /dev/mapper/ubuntu--vg-lvroot
sudo mkswap -f /dev/mapper/ubuntu--vg-lvswap

ファイルシステムの名前(/dev/mapper以下)はグループ名+"-"+倫理ボリューム名にする。
その際、名称に"-"を含んでいる場合は、"--"としてエスケープしないといけない。
コマンドはファイルシステムext4用のものとswap用のもので異なるが、
使い方はだいたい同じ。

インストーラを起動

インストーラで手動選択を選ぶと、インストール先選択にLVM管理の論理ボリュームが表示されるので、
boot領域に/boot, ubuntu-vg-lvrootに/, ubuntu-vg-lvswapにswapをそれぞれ設定する。
ブートローダのインストール先は/dev/sdaとする。

インストールが完了し、再起動後、問題がなければOK。
参考記事では、再起動前にマウントしてみろとか書いてあったけど、
イマイチ理由が読み取れなかったので無視した。

というわけで、手動でディスク割り+LVM適用は、結構めんどくさいが、
最初にやっておけば、LVM管理の論理ボリュームは領域の増減が楽なので後々悩む必要がなくなるかもしれない。