走り書き的メモです。
今回のためだけに新しい環境を用意した。
既存の環境でやるのはおすすめしない。
あと、FreeBSD初心者なのでマズイ点が多々あるかも。
StandardでDeveloper, User後なんだっけ?とりあえず全部インストール。
うちの環境ではFTPインストールやそれに準ずる方法がエラーで何故か使えなかったので、インストールDVDからインストールした。
2010/12/12のZFSパッチを使うのでその日のソースを取得する。
cp /usr/share/examples/cvsup/standard-supfile mysup101212 vi mysup101212
mysup101212の編集内容
1行置き換える
*default host=CHANGE_THIS.jp.FreeBSD.org
↓
*default host=cvsup.jp.FreeBSD.org
1行を適当な箇所に追加
*default date=2010.12.12.00.00.00
csup mysup101212
# 時間がかかる
cd /usr/src fetch http://people.freebsd.org/~pjd/patches/zfs_20101212.patch.bz2 bzip2 -d zfs_20101212.patch.bz2 patch -E -p0 < zfs_20101212.patch
make -j8 buildworld TARGET_ARCH=amd64
# めっちゃ時間がかかる
cd /usr/src/sys/amd64/conf mkdir /root/mykernels cp GENERIC /root/mykernels/ZFSV28 ln -s /root/mykernels/ZFSV28 vi ZFSV28
以下のオプションを含むようにする。
options KDB options DDB options INVARIANTS options INVARIANT_SUPPORT options WITNESS options WITNESS_SKIPSPIN options DEBUG_LOCKS options DEBUG_VFS_LOCKS
最後の2つ以外はすでに入ってるはず。
cd /usr/src make -j8 buildkernel TARGET_ARCH=amd64 KERNCONF=ZFSV28
# まぁまぁ時間がかかる
make installkernel TARGET_ARCH=amd64 KERNCONF=ZFSV28
・再起動してシングルユーザーモードで起動した後。
fsck -p mount -u / mount -a -t ufs swapon -a
cd /usr/src make installworld TARGET_ARCH=amd64 KERNCONF=ZFSV28
# ちょっと時間がかかる
cp -Rp /etc /etc.old mergemaster
基本的にi応答(新しい設定を反映する)でいいと思う。
shutdown -r now
zpool upgrade -v
This system is currently running ZFS pool version 28. The following versions are supported: VER DESCRIPTION --- -------------------------------------------------------- 1 Initial ZFS version 2 Ditto blocks (replicated metadata) 3 Hot spares and double parity RAID-Z 4 zpool history 5 Compression using the gzip algorithm 6 bootfs pool property 7 Separate intent log devices 8 Delegated administration 9 refquota and refreservation properties 10 Cache devices 11 Improved scrub performance 12 Snapshot properties 13 snapused property 14 passthrough-x aclinherit 15 user/group space accounting 16 stmf property support 17 Triple-parity RAID-Z 18 Snapshot user holds 19 Log device removal 20 Compression using zle (zero-length encoding) 21 Deduplication 22 Received properties 23 Slim ZIL 24 System attributes 25 Improved scrub stats 26 Improved snapshot deletion performance 27 Improved snapshot creation performance 28 Multiple vdev replacements For more information on a particular version, including supported releases, see the ZFS Administration Guide.
mkdir /usr/zfstest
# デフォのままインストールしたら/usrが一番容量が大きかったため/usrにテストデータを置く。
cd /usr/zfstest
1GBのディスクイメージを4つ用意する
dd if=/dev/zero of=disk1.img bs=1m count=1k dd if=/dev/zero of=disk2.img bs=1m count=1k dd if=/dev/zero of=disk3.img bs=1m count=1k dd if=/dev/zero of=disk4.img bs=1m count=1k
raidz2のプールを作成
zpool create mypool raidz2 /usr/zfstest/disk1.img /usr/zfstest/disk2.img /usr/zfstest/disk3.img /usr/zfstest/disk4.img zfs set dedup=on mypool
zfs list
NAME USED AVAIL REFER MOUNTPOINT mypool 128K 1.95G 44.8K /mypool
ファイルを置いてみる
dd if=/dev/urandom of=/mypool/test.dat bs=1k count=100k
# 遅い物理ディスク上にイメージ4つものせてるから激遅(汗
# 256KB/sぐらい。やべぇw
zfs list
NAME USED AVAIL REFER MOUNTPOINT mypool 101M 1.85G 99.9M /mypool
cp /mypool/test.dat /mypool/test.dat.copy zfs list
NAME USED AVAIL REFER MOUNTPOINT mypool 201M 1.84G 200M /mypool
cp /mypool/test.dat /mypool/test.dat.copy2 zfs list
NAME USED AVAIL REFER MOUNTPOINT mypool 301M 1.84G 300M /mypool
AVAILが減らない キタ━(゚∀゚)━!
もしdedupがなかったら「ディスク容量が足りなくなっちゃう!」ってところまでやってみよう
cp /mypool/test.dat /mypool/test.dat.copy3 (略) cp /mypool/test.dat /mypool/test.dat.copy21
zfs list
NAME USED AVAIL REFER MOUNTPOINT mypool 2.15G 1.81G 2.15G /mypool
元々のAVAILが1.85G、そして現在のUSEDが2.15G・・・
ムフフw
dedup onとoffの性能差も調べたいが、やるなら実運用で使えるようなハードウェアを手に入れてからだな。
最近のコメント
名前
しゅごい
Jane Doe
FYI Avoid Annoying Unexpe…
Jane Doe
ご存じとは思いますが、whileには、”~の間”と…
peta_okechan
針金みたいなパーツを引っ張ると外れます。 他の方の…
虎徹ファン交換
虎徹の標準ファンを外す際に、どのようにして外されま…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…