待ちわびてたら、lundmanが何とかしてくれました。
それが、こいつだ!
OpenZFS-2.0-release
取りあえず、pkgをダウンロードして、インストールしてみた。
けど、、動かない、、、。ヾ(-_-;)
sudo zpool version
The ZFS modules are not loaded.
Try running '/sbin/kextload zfs.kext' as root to load them.
ちなみに言われたとおり、
sudo /sbin/kextload /Library/Extensions/zfs.kext
を実行するも、
Executing: /usr/bin/kmutil load -p /Users/xxxx/zfs.kext
と表示されて、エラーメッセージが出ないので、大丈夫かと思いきや、
sudo zpool version
The ZFS modules are not loaded.
Try running '/sbin/kextload zfs.kext' as root to load them.
同じエラー、、、、( ̄△ ̄)。
ググったら、以下に解決方法が、書いてあった。
kext does not load on 10.16 Big Sur #8
要は、Boot Argumentsに、" keepsyms=1" をセットせよとのこと。
(上記エラーになった分は、アンインストールして、)
Boot Argumentsを実行してみる。
Boot Argumentsの実行手順は、以下の通り。
1. 起動時にCommand+Rキーを押し続け、リカバリーモード(macOS復旧)に入る。
2. 管理者でログイン。
3. 復旧云々のメニューは無視して、左上のユーティリティ > ターミナルで、ターミナルを起動。
4. 以下のコマンドを実行。
sudo nvram boot-args="keepsyms=1"
で、再起動して、ターミナルから、
sudo nvram boot-args
を実行して、
boot-args keepsyms=1
が表示されれば、オッケー。
この状態で、上記pkgを実行すると、無事にインストールが完了しましたぁ。
sudo zpool version
zfs-2.0.0-1
zfs-kmod-macOS-2.0.0-2-g0197ddc9c5-dirty
『OpenZFS on OS X』の情報は少ないからねぇ。
誰かの一助になればと公開してみました。
2020.11.15 @Facebook********************
今朝、寝ぼけてたら、何気に、Big Sur にアップグレードしてしまった。
Catalinaのアップデートを押したつもりで進んでしまった。
よく使うものの中ので、動かなかったのは、ZFS、Parallels、gVim。
ZFSは、kext辺りがおかしかったので、色々とやってみたけれど、ダメ。
ってか、githubのフォーラムでもパッチを作っているとか出てきて、ダメなのは確定 → 待ち。
Parallelsは15を使っているんだけど、これも待ち。
Virtual Boxとかち合うとの情報もあったので、VBをアンインストールしてみたけど、ダメダメ。
最悪、16にアップすれば動くので、早く解決したければ、アップグレードするしかないのかな?
gVimは、.gvimrc をガリガリとイジってみたけど、解決せず。
もしかしてと思い、環境設定を開いてみて、→ 詳細 のCore Textレンダラを使用するのチェックを外したら、事なきを得た。
ZFSはまだだって、わかってたんだけどなぁ。
何で、Big Sur にしちゃったかなぁ、、、。
********************2020.11.15 @Facebook
結局、Parallelsは16にアップデートした。
ちょっと遅くなったかなぁ?
kextとか、システムコールとか、その辺がアップデートしているのに、無理矢理対応しているからか?
まあ、今回のバージョンは、10.xxじゃなくて11だから、実質、アップグレード。
大幅に変わっているのは否めない、、、。
P.S.後日談
ZFSはアップデートが来ていたので、設定した。
詳細は、ここ →OpenZFS on OSX 2.0.0 for Big Sur。
Parallelsもアップデートした。
でも、Parallelsのニューバージョンは遅いなぁ。
カーネル拡張とか、システムコールとか、その辺のMacOSのコアな部分が使えなくなっているのを、多分、無理矢理、動かしているんだろうな。
『ばるぼら』は手塚マンガの中でも一二を争うぐらい大好きな作品。
それを息子の手塚眞が映画化するなんて、これは、観に行くしかない!
着いたら、結構、並んでて、ネットで予約した人から案内してた。
こんなマイナーな映画館に来たことはないので、システムがよく分からない。
はたまた、新型コロナ対策か?
「いきなり来たんですが、入れますか?」
「何とかします。」
最初にお笑い芸人の『オラキオ』が出てきて前説を始めた。
(ワンドリンク制とか前説とか、ちょっと変わった上映方式だなぁ)
オラキオがコントを始めた。
(えっ?!(ΟдΟ?))
映画館は二階だった、、、(-""-;)。
でも、面白かった。
テレビではひな壇芸人だけど、コントは物語性があって、練られていて、凄く面白かった。
演技も引き込まれるほど上手かった。
最後は客席に挨拶に来てくれて、一緒に写真を撮ってもらった。
この日の演目の一幕でもいいからYoutubeにアップすべき。
目に触れた人は、絶対に評価が変わるはず。
※写真の掲載につきまして、何かありましたら、ご連絡ください。
奮闘記と言うほどでもなく、さっくりと動いてしまった。
ただ、ネット上では『ZFS on Mac』の情報は驚くほど少ないので、一助になればと書いてみました。
1.インストール
公式サイトから、最新のdmgを落としてきてインストールする。
このときに、Macのセキュリティとプライバシーに引っかかるんだけど、
「許可をするのに、このインストーラーを終わらせてから」
と、終わろうとさせると、
「インストール中です」
の狭間で、どうしようもなくなる。
まあ、このまま無視してもインストールは完了するので、後でなんとかなる。
2.フォーマット
インストールすると、Macのディスクユーティリティに ZFSが出てくるので、これでフォーマットするだけ。
だった筈なんだけど、用意したHDDがWindowsで使用していたもので、MBRでフォーマット済だったために、ちょっとはまった。
Error: -69821: Partitioning scheme does not support requested file system(s) partition type(s)
が出て、ディスクユーティリティからZFSでフォーマット出来ないのだ。
なので一度、コマンドラインから、
diskutil eraseDisk JHFS+ tempName GPT /dev/disk2
っと、GPTにして、事なきを得た。
disk2〜disk5までのフォーマットが終わった状態。
TYPEのところが、『FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF』となっているけど、気にしない。
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_APFS Container disk1 1.0 TB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +1.0 TB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD - Data 977.9 GB disk1s1
2: APFS Volume Preboot 83.2 MB disk1s2
3: APFS Volume Recovery 528.9 MB disk1s3
4: APFS Volume VM 2.1 GB disk1s4
5: APFS Volume Macintosh HD 11.4 GB disk1s5
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.5 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF 1.5 TB disk2s2
3: Apple_Boot Boot OS X 134.2 MB disk2s3
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.5 TB disk3
1: EFI EFI 209.7 MB disk3s1
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF 1.5 TB disk3s2
3: Apple_Boot Boot OS X 134.2 MB disk3s3
/dev/disk4 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.5 TB disk4
1: EFI EFI 209.7 MB disk4s1
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF 1.5 TB disk4s2
3: Apple_Boot Boot OS X 134.2 MB disk4s3
/dev/disk5 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.5 TB disk5
1: EFI EFI 209.7 MB disk5s1
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF 1.5 TB disk5s2
3: Apple_Boot Boot OS X 134.2 MB disk5s3
3.RAIDZの作成
色々とググった結果、以下のパラメータでcreateすることにした。
sudo zpool create -f -o ashift=12 -O casesensitivity=insensitive -O normalization=formD tank raidz disk2s2 disk3s2 disk4s2 disk5s2
一応、解説しておくと、
ashift=12
セクタサイズを4096にする。
casesensitivity=insensitive
ディレクトリ名やファイル名の大文字小文字を区別しない。
normalization=formD
ディレクトリ名やファイル名の並び順を正規化形式Dとする。
tank
名前は何でもいいのですが、ZFS界隈ではこの名前をつけたりするのが一般的。
名前以外のパラメータは、この通りにしておいた方が無難。
みんなそうしているみたいで、特にMacの場合には、諸々とエラーの原因になることがあるそうで。
が、しかし、、。
以下のエラーを得てしまった。
Failed to load ZFS module stack.
Load the module manually by running '/sbin/kextload /Library/Extensions/zfs.kext' as root.
The /dev/zfs device is missing and must be created.
Try running 'udevadm trigger' as root to create it.
ちなみに言われたとおり、
sudo /sbin/kextload /Library/Extensions/zfs.kext
を実行するも、
/Library/Extensions/zfs.kext failed to load - (libkern/kext) system policy prevents loading; check the system/kernel logs for errors or try kextutil(8).
これでググったりして、30分ぐらいロスしてしまったけど、なんの事は無い、インストール時に無視したツケが回ってきていただけだった。
セキュリティとプライバシー > 一般 に何か出てたので、許可したらすんなりいった。
GUIだと画面に出てくるんだけど、コマンドラインでやっているので、知らない間にこっそりと出ているので要注意だ。
あと、bashで作業するので、bashのフルアクセスも許可しておくと無難かも。
で、以下の結果。
$ zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 5.44T 2.64M 5.44T - - 0% 0% 1.00x ONLINE -
$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_APFS Container disk1 1.0 TB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +1.0 TB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD - Data 977.8 GB disk1s1
2: APFS Volume Preboot 83.2 MB disk1s2
3: APFS Volume Recovery 528.9 MB disk1s3
4: APFS Volume VM 2.1 GB disk1s4
5: APFS Volume Macintosh HD 11.4 GB disk1s5
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.5 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF 1.5 TB disk2s2
3: Apple_Boot Boot OS X 134.2 MB disk2s3
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.5 TB disk3
1: EFI EFI 209.7 MB disk3s1
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF 1.5 TB disk3s2
3: Apple_Boot Boot OS X 134.2 MB disk3s3
/dev/disk4 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.5 TB disk4
1: EFI EFI 209.7 MB disk4s1
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF 1.5 TB disk4s2
3: Apple_Boot Boot OS X 134.2 MB disk4s3
/dev/disk5 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.5 TB disk5
1: EFI EFI 209.7 MB disk5s1
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF 1.5 TB disk5s2
3: Apple_Boot Boot OS X 134.2 MB disk5s3
/dev/disk6 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme +4.3 TB disk6
1: ZFS Dataset tank 4.3 TB disk6s1
$ zpool status
pool: tank
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
disk2s2 ONLINE 0 0 0
disk3s2 ONLINE 0 0 0
disk4s2 ONLINE 0 0 0
disk5s2 ONLINE 0 0 0
errors: No known data errors
4.パーミッション
ユーザーレベルが使用できるように適当に。
$ sudo chmod 777 /Volumes/tank
5.ドライブの切り出し
tankのまま使用してもいいんだけど、ZFSは多層的に管理できるので、Usersと言う名前で、切り出してみた。
$ sudo zfs create tank/Users
$ sudo chmod 777 /Volumes/tank/Users
しかし、これが問題点になるとは、、、。
6.問題点
さっくりと設定できて、サクサク動いて、通常使用でも問題は起きてないんだけど、ちょっと不満点が。
ZFSは多層的に管理されているんだけど、dfコマンドはそれに対応していない。
なので、tankはみられるけど、その下のtank/Usersはみられないし、tankとして使っている容量にtank/Usersは含まれていない、、、。
リンゴマークから、このマックについても多分、単純に dfコマンドを実行しているだけなんだろう、結果は同じ。
一応、zfsコマンドではみられる。
$ zfs list -r tank
NAME USED AVAIL REFER MOUNTPOINT
tank 301G 3.53T 1.81M /Volumes/tank
tank/Users 301G 3.53T 301G /Volumes/tank/Users
tank/Usersを切り出さなかったら良かったのか?
切り出さなくてもみられなかったのか?
今となっては、謎。
そして、この点に関しては、不便極まりない、、、。
MacのSSDがいっぱいになってきたので、HDDを増設することにした。
1.5TBのHDDが10台ほど余っているので、箱だけ買って適当にRAIDを組み上げようと画策。
っと、思って買ったんだけど、Macって、ソフトウェア(or BIOS)だけでRAID5が組めないのかーー。
仕方がないので、ZFSで構築することにした。
ZFSとは、ライセンス問題が解消されればAppleもLinuxも組み込みたい意向は示している画期的なファイルシステムだ。
(Ubuntuのパッケージには入っているけど、Linux著作権委員会から文句が飛んでいるらしい。)
ZFSは出始めの頃に、FreeBSDで試したっきり。
ちょっとググっても、ZFS on Macの情報は驚くほど少ない。
はてさて。