Linux zfsのメモ
zfs on rootのインストールの手順とか、tipsとか載せていく予定
自分のメモ的に書いてるので、そのままだと動作しない可能性有り
ubuntuでのzfs on rootで起動しなくなった場合
ubuntuのDesktopCDで起動し、Terminal起動させてrootへなった後に、以下のコマンド実行
apt-add-repository --yes ppa:zfs-native/daily ; apt-get update ; apt-get -y install debootstrap ubuntu-zfs ; modprobe zfs ; dmesg| grep ZFS
おかしくなったzfsファイルシステムを再マウント
zpool import -R /mnt -f rpool mount /dev/vda1 /mnt/boot/grub mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt /bin/bash --login
あとは、grubとかおかしくなった部分を編集
ubuntuでのzfs on rootインストール
ubuntuのDesktopCDで起動し、Terminal起動させてrootへなった後に、以下のコマンド実行
apt-add-repository --yes ppa:zfs-native/daily ; apt-get update ; apt-get -y install debootstrap ubuntu-zfs ; modprobe zfs ; dmesg| grep ZFS
インストール先のDiskの編集
fdisk /dev/vda
fdiskを使用して以下みたいに、2パーティション構成で
Disk /dev/vda: 536.9 GB, 536870912000 bytes 16 heads, 63 sectors/track, 1040253 cylinders, total 1048576000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004325d Device Boot Start End Blocks Id System /dev/vda1 2048 16383 7168 83 Linux /dev/vda2 16384 1048575999 524279808 83 Linux
ファイルシステムとzfsのPoolの作成
mke2fs -m 0 -L /boot/grub -j /dev/vda1 zpool create -o ashift=12 -f rpool /dev/vda2
or
zpool create -o ashift=9 -f rpool /dev/vda2
以下zfsファイルシステムの作成
mke2fs -m 0 -L /boot/grub -j /dev/vda1 zpool create -o ashift=12 -f rpool /dev/vda2 or zpool create -o ashift=9 -f rpool /dev/vda2 zfs create -o mountpoint=none rpool/ROOT zfs create rpool/ROOT/ubuntu-1 zfs umount -a zfs set mountpoint=/ rpool/ROOT/ubuntu-1 zpool set bootfs=rpool/ROOT/ubuntu-1 rpool zpool export rpool zpool import -R /mnt -f rpool zfs create -o mountpoint=/opt rpool/ROOT/ubuntu-1/OPT zfs create -o mountpoint=/usr rpool/ROOT/ubuntu-1/USR zfs create -o mountpoint=/usr/src -o sync=disabled -o compression=lz4 rpool/ROOT/ubuntu-1/USR/SRC zfs create -o mountpoint=/var rpool/ROOT/ubuntu-1/VAR zfs create -o mountpoint=/var/log -o compression=lz4 rpool/ROOT/ubuntu-1/VAR/LOG #homedirs zfs create -o mountpoint=/home rpool/HOME zfs create -o mountpoint=/root rpool/HOME/root
grub用のパーティションと初期インストール
mkdir -p /mnt/boot/grub mount /dev/vda1 /mnt/boot/grub debootstrap precise /mnt cp /etc/hostname /mnt/etc/ cp /etc/hosts /mnt/etc/ echo "/dev/vda1 /boot/grub auto defaults 0 1" > /mnt/etc/fstab
chroot先で必要なデバイスファイルの作成
mount /dev/vda1 /mnt/boot/grub mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys
chrootしてから、環境セットアップ、必要なファイルのインストール
chroot /mnt /bin/bash --login
locale-gen en_US.UTF-8 apt-get update apt-get -y install ubuntu-minimal python-software-properties software-properties-common
apt-add-repository --yes ppa:zfs-native/daily apt-add-repository --yes ppa:zfs-native/grub apt-add-repository --yes ppa:zfs-native/staging apt-get update apt-get -y install --no-install-recommends linux-image-generic linux-headers-generic apt-get -y install --no-install-recommends linux-lts-saucy-tools-3.11.0-15 linux-lts-saucy-tools-common linux-tools-3.11.0-15-generic \ linux-headers-generic-lts-saucy linux-headers-3.11.0-15-generic linux-headers-3.11.0-15 linux-image-3.11.0-15-generic \ linux-image-generic-lts-saucy linux-tools-generic-lts-saucy apt-get -y install --no-install-recommends linux-tools-lts-raring linux-tools-lts-saucy apt-get -y install ubuntu-zfs apt-get -y install grub2-common grub-pc apt-get -y install grub2-common=2.00-13ubuntu3+zfs3~raring grub-pc=2.00-13ubuntu3+zfs3~raring \ grub-common=2.00-13ubuntu3+zfs3~raring grub-pc-bin=2.00-13ubuntu3+zfs3~raring of apt-get -y install grub2-common=1.99-21ubuntu3.11+zfs1 grub-pc=1.99-21ubuntu3.11+zfs1 grub-common=1.99-21ubuntu3.11+zfs1 \ grub-pc-bin=1.99-21ubuntu3.11+zfs1 apt-get -y install zfs-initramfs apt-get -y dist-upgrade
chroot内で残りの処理と処理終了
ユーザ作成
adduser USER adduser USER sudo
grubをインストール
grub-install /dev/vda update-grub
起動してるプロセスの終了
service rsyslog service cron
処理終了
exit
インストール先のファイルシステムの後処理
umount /mnt/boot/grub umount /mnt/dev umount /mnt/sys umount /mnt/proc zfs umount -a zpool export rpool