D.

Ubuntu 10.04 LTS で暗号化 LVM を利用し、さらにパーティションを細かく分割する。

まずは Server CD を公式サイトよりダウンロードする。


Get Ubuntu Server Edition Download
http://www.ubuntu.com/server/get-ubuntu/download


なぜ Server 版かというと暗号化 LVM を利用するためである。

  • Ubuntu 10.04 LTS の Desktop CD ではホームディレクトリの暗号化のみサポートされている。
    • しかしシステム全体の暗号化はサポートされていない。
    • また LVM を利用してパーティションを柔軟に拡張することができない。

そこで、通常の Ubuntu デスクトップではなく暗号化 LVM に対応しているインストーラーを利用する必要がある。一応 Alternate CD でも対応しているのだが、どうせならサーバー環境も同時に作れる Server CD を利用する。


最初に CD を入れて PC をブートする。Debian でもすっかりおなじみ CUIインストーラーが起動するので画面の指示通り操作すれば良い。HHK を所有している場合は Keyboard モデルで Happy Hacking Keyboard を選択する。ホスト名を決定してディスクのパーティショニングをおこなう。


ここから暗号化 LVM の設定に入る。Debian の場合はメニューから暗号化 LVM を選択すれば /usr, /tmp, /var, /home 等を自動的に細かく設定するオプションがあるのだが、Ubuntu にはどういうわけかこの選択肢が無い。そこで、暗号化ボリュームを作成し手動で LVM を設定しなければならない。

手動によるパーティショニングの実行

partitioner のメニューから、一度ガイドによる暗号化を選択した上で戻り、ガイドを利用せずに「手動」を選択する。

「暗号化されたボリュームの設定」を選択しディスク全体を暗号化ボリュームとして設定する。

暗号化されたボリュームの設定を選択すると partitioner によって /dev/sda1 (254MB) と /dev/sda5 (残り全体) が分割されているはずである。このうち /dev/sda1 が /boot としてブートローダーのインストールされる領域となる。(ブート領域そのものを暗号化する技術というのは理論上存在しない) ここでは /dev/sda5 を選択し暗号化対象のデバイスとする。


成功すればこんな感じになる。この例では 250GB の SATA ディスクを利用している。

  SCSI3 (sda) 250.0 GB ATA
    1. 基本 254.8 MB f ext2 /boot
    5. 論理 249.7 GB K 暗号化 (sda5_crypt)

このとき、暗号化設定アクションが正しく完了すると、暗号化されたボリュームのためのパスフレーズを入力する画面になる。ここでは英数大文字小文字特殊記号含む 20 文字以上のパスフレーズを設定すると良い。

暗号化ボリュームの上で論理ボリュームマネージャ (LVM) の設定をおこなう。

論理ボリュームマネージャの設定を選択し「現在の LVM 設定の概要」を表示させる。まだボリュームグループが作成されていないので作成する。名称はホスト名と一緒で良いだろう。次にボリュームグループ内部に論理ボリュームを作成していく。論理ボリュームのサイズもこの時点で指定するので、各パーティションのサイズは事実上ここで決まることになる。完了すると以下のような感じになる。

  割り当てられていない物理ボリューム
    * なし
  ボリュームグループ:
    * hostname (249737MB)
      - 使用する物理ボリューム: /dev/mapper/sda5_crypt (249737MB)
      - 使用する論理ボリューム: home (221744MB)
      - 使用する論理ボリューム: opt (4999MB)
      - 使用する論理ボリューム: root (998MB)
      - 使用する論理ボリューム: swap (1996MB)
      - 使用する論理ボリューム: tmp (4999MB)
      - 使用する論理ボリューム: usr (9999MB)
      - 使用する論理ボリューム: var (4999MB)

partitioner に戻るとこんな感じになっている。

  LVM VG hostname, LV home - 221.7 GB Linux device-mapper (linear)
    1. 221.7 GB
  LVM VG hostname, LV opt - 5.0 GB Linux device-mapper (linear)
    1. 5.0 GB
  LVM VG hostname, LV root - 998.2 MB Linux device-mapper (linear)
    1. 998.2 MB
  LVM VG hostname, LV swap - 2.0 GB Linux device-mapper (linear)
    1. 2.0 GB
  LVM VG hostname, LV tmp - 5.0 GB Linux device-mapper (linear)
    1. 5.0 GB
  LVM VG hostname, LV usr - 10.0 GB Linux device-mapper (linear)
    1. 10.0 GB
  LVM VG hostname, LV var - 5.0 GB Linux device-mapper (linear)
    1. 5.0 GB
  暗号化ボリューム (sda5_crypt) - 249.7 GB Linux device-mapper
    1. 249.7 GB K LVM
         1.0 MB   利用不可
  SCSI3 (0,0,0) (sda) - 250.0 GB ATA
    1. 基本 254.8 MB f ext2 /boot
    5. 論理 249.7 GB K 暗号化 (sda5_crypt)

上記の例では /boot はそのままに / を 1GB、スワップ領域を 2GB、/tmp と /var と /opt を 5GB ずつ、/usr を 10GB 確保して残りを /home としている。これだけでは論理ボリュームを用意しただけなので、上記の各論理ボリュームを選択してマウントするファイルシステムを割り当てていく。

論理ボリュームにファイルシステムの割り当てをおこなう。

保守的に考えるなら ext3 にするところだが Ubuntu 10.04 LTS ではすでに標準で ext4 がサポートされているのでこれを利用しても良いだろう。マウントオプションでは忘れずに relatime をオンにすることをお薦めする。

  LVM VG hostname, LV home - 221.7 GB Linux device-mapper (linear)
    1. 221.7 GB f ext4 /home
  LVM VG hostname, LV opt - 5.0 GB Linux device-mapper (linear)
    1. 5.0 GB f ext4 /opt
  LVM VG hostname, LV root - 998.2 MB Linux device-mapper (linear)
    1. 998.2 MB f ext4 /
  LVM VG hostname, LV swap - 2.0 GB Linux device-mapper (linear)
    1. 2.0 GB f スワップ スワップ
  LVM VG hostname, LV tmp - 5.0 GB Linux device-mapper (linear)
    1. 5.0 GB f ext4 /tmp
  LVM VG hostname, LV usr - 10.0 GB Linux device-mapper (linear)
    1. 10.0 GB f ext4 /usr
  LVM VG hostname, LV var - 5.0 GB Linux device-mapper (linear)
    1. 5.0 GB f ext4 /var
  暗号化ボリューム (sda5_crypt) - 249.7 GB Linux device-mapper
    1. 249.7 GB K LVM
         1.0 MB   利用不可
  SCSI3 (0,0,0) (sda) - 250.0 GB ATA
    1. 基本 254.8 MB f ext4 /boot
    5. 論理 249.7 GB K 暗号化 (sda5_crypt)

下から順番に見ていくとまず 250 GB の SATA ディスク上にブートパーティションと暗号化パーティションが作成されている。上記のうち暗号化パーティション上に LVM が作成されている。その LVM の中に論理ボリュームがそれぞれ作成されており、ファイルシステムは論理ボリュームをそれぞれまるごとひとつずつ利用する形で作成されている。これで完成である。


なお、論理ボリュームの設定中にパーティション分割を誤ってしまった場合は、一度ガイドによるパーティショニングに戻って暗号化 LVM を選択して戻ればリセットされるので覚えておくと良い。何も問題が無ければ、ディスクに変更を書き込みますかというメッセージが表示されるので、画面を確認した上ではいを応答する。不慣れなうちは何度もつまずきがちなので、親切な partitioner の指示通りに何度でもやり直そう。

デスクトップ環境をインストールする。

あとは好きなウィンドウマネージャをインストールすれば、デスクトップ環境も出来上がる。

sudo aptitude install xubuntu-desktop


Ubuntu 10.04 LTS ではホームディレクトリの暗号化がサポートされているが、そもそも LVM 全体を暗号化しているのでこのオプションを選択する必要は無い。これらの一連の手順は Ubuntu 8.04 LTS (Hardy) や Debian GNU/Linux 5.0 (Lenny) 等でも同様の手順で可能である。ただし Debian の場合はガイドによる暗号化でパーティションを分割するのが最も手軽だろう。

関連

LVM上のパーティションをオンラインのまま拡大/縮小する
http://d.hatena.ne.jp/Naruhodius/20120116/1326658909