2020-12-31

省電力ミニPCにRockstor NAS V4.0.4をセットアップ

先日紹介した省電力ミニPCに目論見通りNAS OSをセットアップしました(4TBのUSB HDDを追加)。
NAS OSはミニPCでも稼働でき、macOSのTime Machineバックアップにも対応、iPhone/iPad用アプリで自宅バックアップにも対応、さらにDockerコンテナで色々なものを動かせます。

RockstorはOSSのNAS OSで、従来バージョンのV3.xはCentOS、最新V4.xはOpenSUSEをベースにしていて、btrfsをファイルシステムに使用します。
日本語の情報はあまりないのですが、macOSのTime MachineやWindowsのVolume Shadowingのようなファイルシステムのスナップショット機能が使いたくて、このRockstorを選びました。

何事も最初はうまくいかないもの。
まずは失敗したセットアップ方法を共有させてください。

  • まずはRockstor 3.9.1のインストーラISO(2017年7月)をダウンロードし、別マシンのVM上でインストールしました。
    これはもちろん問題なく動作しました。
  • このISOファイルをEtcherツールを使ってUSBメモリに書き込み、いざミニPCにインストールしようとしましたが、どうしても途中でコケてしまいます。
    どうやらRockstor 3.9.1のインストーラはEFIブートに対応していないようです、2017年のCentOSなので仕方ないですね。
    ミニPCの方もLegacy BIOSに設定する方法が見つからず。
  • それでは、最新版でと思い、Rockstor 4.0.4のRPMパッケージ(2020年10月)をOpenSUSEにインストールすればと考えました。
    OpenSUSE 15.2を順調にServer向けにセットアップし、zypper install rockstor でのRockstorパッケージのインストールも成功。
    (手順は下手に Built on openSUSE testing channel live (early-adopters / developers only) - Announcements - Rockstor Community Forum で見つけてしまったのが間違いの始まりだったかもしれません。)
    管理画面はきっちり表示できて、Samba共有も作成できます。
    macOSのTime Machineは最近のバージョンはAFPではなくてSambaが主流になっているのをここで知りました。
    でも、実際に共有に接続しようとすると、どうしても接続できません。
    何か設定が足りないのでしょうが解決できず。
  • 今度は安定版Rockstor V3パッケージと素のCentOS 7の組み合わせなら、と考えました。
    (こちらも手順は Rockstor on vanilla CentOS 7? - General - Rockstor Community Forum にありました。)
    最近のBIOSは良くできていて、起動パーティションをBIOSから指定できるので、マルチブート環境が簡単に作成できます。
    Rockstorに関しては残念ながら、こちらでもOpenSUSEと同じ、管理画面は問題無いのに、共有への接続ができません。
    最初のVMの /etc/samba/smb.conf と比較し、設定を合わせてみても、それだけでは改善しませんでした。

さらに調べると https://github.com/rockstor/rockstor-installer でRockstorの一括インストーラを作成できることが分かりました。
RPMパッケージをインストールした時に行われる設定だけでは足りない設定が入っているはず。
なんとかこれでうまくいきましたので、セットアップ手順を記しておきます。
なおRockstor V4.0.4は次期正式バージョンのリリース候補版でArm64にも対応していますが、ここでは私が実際に試したx86_64の手順のみです。

  1. OpenSUSE 15.2の環境を準備。
    上記Rockstor V4のRPMセットアップに失敗した環境を使用しました(転んでもタダでは起きない、ですね。なお後のRockstorのインストールでパーティションのカスタマイズができずに初期化されるのでこの環境とのお付き合いはここまでになります)。
  2. RockerのISOを作成するためのrocksor-installerを取得。
    # zypper install git wget
    # git clone https://github.com/rockstor/rockstor-installer.git
    # cd
    rockstor-installer/
  3. SUSEのカスタムインストーラ作成ツールkiwi-ngを取得。
    # zypper addrepo http://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder/openSUSE_Leap_15.2/ appliance-builder
    # zypper install python3-kiwi btrfsprogs gfxboot
  4. RockstorインストーラISOファイルの作成、数分かかります。
    # kiwi-ng --profile=Leap15.2.x86_64 --type oem system build --description ./ --target-dir /home/kiwi-images/
  5. 作成されたISOファイル Rockstor-NAS.x86_64-4.0.4-0.install.iso をUSBメモリに書き込みます(Etcherツール等にて)。
  6. ミニPCをこのUSBメモリから起動して、インストール。
    ただし、ディスクのパーティションのカスタマイズはできずディスクの全領域が初期化されます。
  7. これでRockstor V4.0.4が無事起動します。
  8. Wi-FiモジュールAC9560が認識されないので、有線LANで接続し、Wi-Fiモジュールのインストーラを取得。
    # wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-20201218.tar.gz
    # tar xzvf linux-firmware-20201218.tar.gz
    # cp -p linux-firmware-20201218/iwlwifi-9000-pu-b0-jf-b0-* /lib/firmware/

    リブートして反映。
  9. 次のコマンドでWi-Fiに接続。
    # nmcli device wifi
    # nmcli device wifi con [SSID名] password [パスワード]

  10. MacとミニPCをGbit有線LANで直結した時に、ミニPC側の自動IP(APIPA)が設定されないので、次のコマンドで設定。
    2021-01-10修正:ifcfg+wickedの方式では起動後数秒でIPアドレスが消えてしまうので、NetworkManagerでの設定が必要です。
    nmtuiのテキストGUIで設定するか、以下のnmcliコマンドで設定します。
    なお、WindowsやmacOSのようにDHCPがダメならlink localアドレス(APIPA)を設定する、と言う設定はないようです(ipv4.method autoはdhcpの意味)。
    # echo 'BOOTPROTO=dhcp+autoip" >> /etc/sysconfig/network/ifcfg-eth0
    # echo 'BOOTPROTO=dhcp+autoip" >> /etc/sysconfig/network/ifcfg-eth1
    # systemctl enable wicked
    # systemctl start wicked


    # nmcli connection modify "Wired connection 1" ifname eth0
    # nmcli connection modify “Wired connection 1” ipv4.method link-local
これでインストール完了です。
ブラウザで接続して、ホスト名と、管理者ユーザ名・パスワードを設定します。
[Storage] メニューの [Disks] で接続しているディスクを確認し(ソフトウェアRAIDもここで設定)、[Pools] で各ディスクにPoolを紐付け、[Shares] で共有を作成します。
その上で、Sambaサービスを起動し、実際の共有を設定します。

Samba上のホスト名(ここではホスト名をrockstorだとします)はDNSのnslookupやdigコマンドでは確認できなくて、macOSでは、
% smbutil lookup rockstor
Windowsでは、
> nblookup rockstor
とします。
接続は、macOSではFinderから [移動] => [サーバーへ接続...] で
smb://rockstor/sharename
WindowsではWindows Explorerに
\\rockstor\sharename
と指定します(ここで指定できるホストはSambaホスト名、DNSホスト名、IPアドレスです)。

M1 MacBook AirのTime Machineの初回バックアップが有線LAN接続で1時間くらいで完了できました。

Rockstor側は [Rock-ons] メニューからNextCloudもすんなり設定できて、いろいろと活用できそうです。


[2021-01-04] 早速V4.0.5に更新されていました、更新内容はAD連携とdocker network関連です。

No comments:

Post a Comment