Proxmox（+ TrueNAS Scale）で ZFS over iSCSI プラグインを試してみたが断念した話

Proxmoxの「ZFS over iSCSI」ストレージは、名前から「iSCSIターゲットを ZFS で簡単に管理できるプラグインだろう」と思い込んでいたのですが、実際は **Proxmox がストレージへ root SSH で入り、zfs コマンドや iSCSI 設定を直接操作する仕組み** であることが判明しました。  
折角なので使えるところまで試してみようと、**TrueNAS SCALE** と組み合わせようとしましたが、うまくいかず断念しましたので記録として残します。
同じ勘違いをされている方がいれば、参考になれば幸いです。

---


## 背景

- **Proxmox** の「ZFS over iSCSI」は、  
  1. ストレージ側に **root SSH** でアクセスし、  
  2. `zfs create` や iSCSI ターゲット設定コマンドを自動で実行する  
  …というユニークな仕組みを持つプラグインです。  
- 一方、**TrueNAS SCALE** は Linux(Debian) ベースで **ZFS** と **LIO (Linux-IO)** を備えており、iSCSI も GUI で管理可能。  
- 「`lio` コントローラがあるなら動くのではないか？」と期待し、root ログインやパスワード認証を整えて検証してみましたが、ターゲットポータルグループ (tpgX) などの設定がわからず、最終的に断念することに。

---

## 実際の検証手順と詰まった箇所

### 1. TrueNAS SCALE 側で root ログインを有効化

1. **SSH を有効化**  
   - “System Settings -> Services -> SSH” で有効にする  
2. **root ユーザーのパスワードを設定**  
   - “Credentials -> Local Users -> root” を編集し、パスワードを登録  
   - SSH で root ログインを許可するオプションもオンにする  
3. **SSH 接続テスト**  
   - `ssh root@<TrueNAS-IP>` でパスワード認証できるか確認
4. SSH 鍵認証で行うために、鍵ファイルを `/etc/pve/priv/zfs/192.168.11.219_id_rsa` に配置し、公開鍵を TrueNAS の `authorized_keys` に登録する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/5eedcb1b-bae8-4ad1-ac7e-881617bd17ca.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/cb752901-4392-458d-96c6-59702819d15a.png)

```bash
root@pve53:/etc/pve/priv/zfs# ls -alF
total 1
drwx------ 2 root www-data    0 Feb 26 21:48 ./
drwx------ 2 root www-data    0 Feb 16 23:54 ../
-rw------- 1 root www-data 3369 Feb 26 21:48 192.168.11.219_id_rsa
-rw------- 1 root www-data  736 Feb 26 21:49 192.168.11.219_id_rsa.pub
```

```bash
root@truenas[~/.ssh]# ls -alF
total 18
drwx------ 2 root root   4 Feb 26 21:57 ./
drwx------ 5 root root  13 Feb 26 21:57 ../
-rw-r--r-- 1 root root 736 Feb 26 21:57 authorized_keys
-rw-r--r-- 1 root root 142 Feb 26 21:50 known_hosts
```

> 通常の運用では、root ログインは避けて管理者ユーザー + sudo が推奨されます。今回のように **ZFS over iSCSI** で root SSH が必須のため、やむなく有効化しました。

### 2. Proxmox 側で「ZFS over iSCSI」を追加

1. Datacenter -> Storage -> `Add -> ZFS over iSCSI`  
2. **ID**: `ZFSoveriSCSI`  
3. **ポータル**: `192.168.11.219`
4. **Pool**: TrueNAS の ZFS プール名 (`pool`)  
5. **ターゲット**: `block2`
6. **iSCSIプロバイダ**: `LIO` (TrueNAS SCALE が LIO ベースと想定)  
5. **ターゲットポータルグループ**: tgt17  
7. 保存

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3789581/0deb5b27-973c-4068-840d-f5d1c8939166.png)

### 3. VM ディスクを作ろうとしたらエラー

- Proxmox は `ssh root@<TrueNAS-IP> ...` で zfs コマンド・iSCSI 設定を動的に操作しようとする  
- しかし  

```bash
Warning: volblocksize (4096) is less than the default minimum block size (16384).
To reduce wasted space a volblocksize of 16384 is recommended.
TASK ERROR: unable to create VM 104 - Target Portal Group has invalid value, must contain string 'tpg' and a suffix number, eg 'tpg17'
```

  …などのメッセージが出て作成に失敗  
- LIO で使われる “tpgX” の指定方法が TrueNAS SCALE の GUI とどう対応付けるか分からず、先に進めない状態に


### 4. ここで断念

ZFS over iSCSI にこだわりは無いので、今回はここで止めました。  

---

## まとめ

- **“ZFS over iSCSI”** はネーミングから誤解しやすいですが、**Proxmox がストレージへ直接 SSH し、zfs / iSCSI を制御** するプラグインです。  
- TrueNAS SCALE は **LIO** ベースなので `lio` を選べば理論上は可能かもしれませんが、**tpgX などの設定が分からず** 検証を断念。  
- 結局、**root ログイン有効化＆パスワード認証** まで進めたものの、VMディスク作成でエラーが発生しました。  
- もし上手くいっても、**TrueNAS GUI** との設定情報の衝突リスクがあるため、本番環境で使うのはハードルが高いと感じました。