もぐてっく

人は1つ歳をとるたび、1ビットづつ大きくなれると信じてた。

一足お先にCloudCore VPSにDebianを導入してみた

\945ながらも圧倒的なスペックを誇るCloudCore VPS。
その広大な100GBの小宇宙にzfsを構築して、圧縮&重複排除なバックアップ場所として使うことにした。


の。で。す。が!


この鯖にはext3パーティションが一個だけ。
もちろんアンマウントできなくてresize2fsでのリサイズ不可。
困った。zfsパーティションが作れない。。。
さらにはさくらのVPSで流行った?Windowsインストール合戦とか言う遊びもできない。
何このやったら広いだけの小宇宙?


ので、何とかすることにした。


要はHDD以外からOSを起動して、マウントされてないパーティションをリサイズなりなんなりすれば良い。
でも、光学ドライブやUSBなんてものは当然なくて、ネットワーク(PXE)も不可。詰んでるじゃんorz


あ、そうだ。


linuxのカーネルと初期イメージ(initrd or initramfs)は、起動時にRAM上にロードされる。
(その後、初期イメージ内のスクリプトでHDDとかファイルシステムのドライバをロードしてマウント。HDD上のinitに処理を移す。)
この動きを利用して、初期イメージにシェルとパーティション操作アプリを入れればHDDがいじれる!


そこまで考えてWebを漁ったら、我らがDebianさんがinitrd形式のインストーラを公式で配ってはりました!


ftp://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/
(元々はpxeブート用みたい?)


パーティション切り直しのついでに、博士が愛したDebianをインストールできるなら超本望。
早速これをプレインストールCentOSに仕込んでみます。

カーネルと初期イメージのダウンロード

作業は管理画面のリモートコンソールから行います。
まずはカーネルと初期イメージをダウンロードしてそれっぽいところに配置します。

# wget ftp://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/*

# mv linux initrd.gz /boot/

grubの設定

次に、仕込んだカーネルと初期イメージから起動するために、ブートローダであるところのgrubの設定を行います。
お好きなviで/boot/grub/menu.lstを開いて、末尾に以下を追加します。

title KarenBee
    root (hd0,0)
    kernel /boot/linux root=/dev/ram0
    initrd /boot/initrd.gz

Let's Reboot!!

リブート直後に、Press any key to continue.と何回か聞かれるので、どれかキーを押してください。
そしてさっき追加した恥ずかしい名前のエントリを選択すると、


f:id:moguno:20120301231758p:image


見慣れたセットアップ画面キターーーーーーーーーーー!!!!


後はいつも通りインストールをすればOKです!
# 途中、DHCPは失敗するので、コントロールパネルに記載のネットワーク設定を見ながら手動設定してくださいです。


では素敵なCloudCore VPSライフを!