前回の投稿 が思いのほか評判良かったのでこさえました。
Filename | ubuntu-zfs-xenial-20170211.ova |
---|---|
Size | 1,821,399,040B (1.7GiB) |
md5 | b06206e04369d37abe5bc930f381aa83 |
sha1 | 8f0c471ca8846a2e8ec752a189c2bf94b3dd8247 |
OneDrive改め埃かぶってたVPSに置いときます。ご自由にお召し上がり下さい。
なにこれ?
何の Ubuntu 16.04 Desktop の仮想マシンです。100% ZFSな点を除いて。
FreeBSDでは10.0-RELEASE以降インストーラーもZFS対応済みなので Pure ZFS なシステムを作るのも実にちょろいのですが、Linuxはまだそこまで行ってません。Ubuntu 16.04 Root on ZFSというドキュメントは上がってますが、これを見た人は「なんて面倒なんだ!」と猫またぎするのではないでしょうか。Ubiquityの超絶安楽インストーラーに慣れた人ならなおのこと。
しかし一旦こしらえてしまえば、あとはいつもと変わりません。デフォルトのext4で構築されたシステムと全く同じように apt できますし、同じように 16.10 にも dist-upgrade できました。
召し上がり方
ovaファイルをVirtualBoxなりVMWare (Player|Fusion)なりにimportしてご賞味下さい。
- Username: ubuntu
- Password: zfs
があらかじめ用意されています。英語デスクトップですが、日本語環境もmozcをインストール済みです。ZFS抜きにUbuntuの教材として使えます。
もちろん実際に利用するにあたっては、アカウントを作成の上、初期ユーザーubuntu
はdisableするなりdeleteするなりした方がよいでしょう。ただしZFSなので、アカウントを作成する前に
$ sudo zfs create rpool/home/youraccount
しておくと幸せになれるかもです。
RAM 4GB、vdisk 16GB、2 coreで作成していますが、2GBでも動きますし1 coreでも大丈夫です。仮想マシンですしこのあたりはいろいろいじって見て下さい。ZFSに対する一番の懸念は何と言っても「計算資源特にメモリー食い過ぎるのでは?」なのですが、今日日の基準からすれば大したことないのです。と私が言うより、各自確認していただく方がよいでしょう。実際のところ、lz4圧縮がデフォルトでかかっていることもあって、ext4なxenialより省資源ですらあります。
VirtualBox
仮想マシンの作成は VirtualBox 5.1.4 で行いました(それもVMWare Fusion上のFreeBSD 11.0-RELEASE上で)。なので設定とかは特にいじらなくてもimportするだけでそのまま問題なく動くはずです。
- guest additions インストール済みです。後述のとおり open-vm-tools も入っているので、
sudo apt purge open-vm-tools
してもよいでしょう。
VMWare {Player,Workstation,Fusion}
以下で警告が出ますがそのままお召し上がりいただけます。
- import時にOVF Specification違反とか。そのまま"retry"で。
- 仮想マシンのアップグレードを促されたら素直にしたがって
- 時計がずれていたら、設定の"Synchronize time"にチェックを入れて。仮想マシン起動後の方がいいかも。
- open-vm-tools インストール済み。前述のとおり VirtualBox guest additions も入っているので、以下の要領で削除してもよいでしょう。
$ cd /opt/VirtualBoxAdditions-5.1.14
$ sudo ./uninstall.sh
工場出荷時に戻すには
わしゃ工場か:-)
それはさておき、「工場出荷時」の状態を@0th
としてsnapshotしてあるので、以下のようにして元どおりにできます。
$ sudo -i
# swapoff -a # to release /dev/zvol
# for d in `zfs list -t snapshot -r -Hp -o name rpool | grep @0th`; do zfs rollback -rRf "$d"; done
# reboot
未使用ブロックを0書き込みするには
VirtualBox
$ sudo -i
# cd /shrink
# dd if=/dev/zero of=/shrink/zero.img bs=1M; rm /shrink/zero.img
VMWare Fusion
$ sudo vmware-toolbox-cmd disk shrink /shrink
デフォルトでcompression=lz4
となっているので、普通に0を書き込んでもダメです。そのためにcompression=off
なrpool/shrink
というデータセットを用意してあるのでそれを使って下さい。
演習問題
- これを使って起動可能なUSBメモリーを作ってみる
- (仮想環境の機能を使わず)起動ヴォリュームのフルバックアップ/リストアしてみる
- 仮想ディスクが16GBしかないが(これでも dist-upgrade 余裕でできる程度には大きいし、初期状態では3GBを切ってるけど)、これを大きくしてみる
最後に
enjoy!
Dan the Unofficial ZFS Evangelist