Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .textlint-prh-rules
Submodule .textlint-prh-rules deleted from 711e00
9 changes: 9 additions & 0 deletions doc/api-extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2256,3 +2256,12 @@ syslog 形式のログメッセージを受信できる syslog ソケットを

この拡張は `requirements.privileged` というイメージの制限を追加します。
`false` に設定すると特権コンテナでイメージが使用できなくなります。

## `cluster_internal_custom_volume_copy`

この拡張は単一の API 呼び出しでクラスタ内でカスタムストレージボリュームをコピーや移動できるようにします。
`POST /1.0/storage-pools/<pool>/custom?target=<target>` を呼ぶとリクエストの `source` 部分で指定されたカスタムボリュームをコピーします。
`POST /1.0/storage-pools/<pool>/custom/<volume>?target=<target>` をリクエストの `source` 部分で指定されたかステムボリュームを `source` から `target` に移動します。

## `disk_io_bus`
これはディスクデバイスに `io.bus` プロパティを追加します。ディスクがアタッチするバスを上書きするのに使えます。
2 changes: 1 addition & 1 deletion doc/howto/instances_create.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
よく使うフラグは以下のとおりです。

- `--config` は新しいインスタンスの設定オプションを指定します
- `--device` はプロファイルを通して提供されるデバイスの {ref}`デバイスオプション <devices>` を上書きします
- `--device` はプロファイルを通して提供されるデバイスの {ref}`デバイスオプション <devices>` を上書き、あるいは {ref}`ルートディスクデバイスの初期設定 <devices-disk-initial-config>` を指定します。
- `--profile` は新しいインスタンスに使用する {ref}`プロファイル <profiles>` を指定します
- `--network` や `--storage` は新しいインスタンスに指定のネットワークやストレージプールを使用させます
- `--target` は指定のクラスタメンバー上にインスタンスを作成します
Expand Down
25 changes: 21 additions & 4 deletions doc/howto/network_bridge_firewalld.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,12 @@ Incus のファイアウォールルールをどのように無効化し、 `fir
sudo firewall-cmd --zone=trusted --change-interface=incusbr0 --permanent
sudo firewall-cmd --reload

<!-- Include start warning -->

```{warning}
<!-- Include start warning -->
上に示したコマンドはシンプルな例です。
あなたの使い方に応じて、より高度なルールが必要な場合があり、その場合上の例をそのまま実行するとうっかりセキュリティリスクを引き起こす可能性があります。
```

<!-- Include end warning -->
```

### UFW でブリッジにルールを追加する

Expand All @@ -84,12 +82,31 @@ UFW で認識不能なトラフィックをすべてドロップするルール
sudo ufw route allow in on incusbr0
sudo ufw route allow out on incusbr0

````{warning}
% Repeat warning from above
```{include} network_bridge_firewalld.md
:start-after: <!-- Include start warning -->
:end-before: <!-- Include end warning -->
```

以下はより制限の強いファイアウォールの例で、ゲストからホストへのアクセスは DHCP と DNS のみに限定し、外向きの通信は全て許可します:

```
# ゲストが Incus ホストから IP を取得できるようにする
sudo ufw allow in on incusbr0 to any port 67 proto udp
sudo ufw allow in on incusbr0 to any port 547 proto udp

# ゲストが Incus ホストからホスト名を解決できるようにする
sudo ufw allow in on incusbr0 to any port 53

# ゲストが外向きの通信にアクセスできるようにする
CIDR4="$(incus network get incusbr0 ipv4.address | sed 's|\.[0-9]\+/|.0/|')"
CIDR6="$(incus network get incusbr0 ipv6.address | sed 's|:[0-9]\+/|:/|')"
sudo ufw route allow in on incusbr0 from "${CIDR4}"
sudo ufw route allow in on incusbr0 from "${CIDR6}"
```
````

(network-incus-docker)=
## Incus と Docker の接続の問題を回避する

Expand Down
62 changes: 62 additions & 0 deletions doc/howto/server_migrate_lxd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
(server-migrate-lxd)=
# LXD からの移行

Incus は `lxd-to-incus` という名前のツールがあり、既存の LXD 環境を Incus に変換するのに使えます。

これが正しく動作するためには、Incus の最新の安定版をインストールし、しかし初期化はしないようにしてください。
代わりに、`incus info` と `lxc info` の両方が正常に動くことを確認し、次に `lxd-to-incus` を動かしてあなたのデータを移行してください。

この手順はデータベース全体と全てのストレージを LXD から Incus に移行し、移行後は同一のセットアップになります。

```{terminal}
:input: lxd-to-incus
:user: root
=> Looking for source server
==> Detected: snap package
=> Looking for target server
=> Connecting to source server
=> Connecting to the target server
=> Checking server versions
==> Source version: 5.19
==> Target version: 0.1
=> Validating version compatibility
=> Checking that the source server isn't empty
=> Checking that the target server is empty
=> Validating source server configuration

The migration is now ready to proceed.
At this point, the source server and all its instances will be stopped.
Instances will come back online once the migration is complete.

Proceed with the migration? [default=no]: yes
=> Stopping the source server
=> Stopping the target server
=> Wiping the target server
=> Migrating the data
=> Migrating database
=> Cleaning up target paths
=> Starting the target server
=> Checking the target server
Uninstall the LXD package? [default=no]: yes
=> Uninstalling the source server
```

```{terminal}
:input: incus list
:user: root
To start your first container, try: incus launch images:ubuntu/22.04
Or for a virtual machine: incus launch images:ubuntu/22.04 --vm

+------+---------+-----------------------+-----------------------------------------------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+-----------------------+-----------------------------------------------+-----------+-----------+
| u1 | RUNNING | 10.204.220.101 (eth0) | fd42:1eb6:f1d8:4e2a:216:3eff:fe65:940d (eth0) | CONTAINER | 0 |
+------+---------+-----------------------+-----------------------------------------------+-----------+-----------+
```

また、ツールは Incus に非互換な設定を検索し、もし存在すればデータを移行する前に中止します。

```{warning}
移行中は全てのインスタンスが停止されます。
移行プロセスが一旦開始されると、簡単には後戻りできませんので、適切なダウンタイムを見込んで計画するようにしてください。
```
5 changes: 5 additions & 0 deletions doc/installing.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,11 @@ sudo apt update
sudo apt install acl attr autoconf automake dnsmasq-base git golang libacl1-dev libcap-dev liblxc1 liblxc-dev libsqlite3-dev libtool libudev-dev liblz4-dev libuv1-dev make pkg-config rsync squashfs-tools tar tcl xz-utils ebtables
```

```{note}
`liblxc-dev` パッケージを使って `go-lxc` モジュールのビルド時にコンパイルエラーが出た場合、`liblxc` のビルド時に `INC_DEVEL` の値に `0` を指定したか確認してください。確認するためには、`/usr/include/lxc/version.h` を見てください。
もし `INC_DEVEL` の値が `1` なら、`0` に置き換えると問題を回避できます。これは Ubuntu 22.04/22.10 のパッケージのバグです。Ubuntu 23.04/23.10 ではこの問題はありません。
```

デフォルトのストレージドライバーである`dir`ドライバーに加えて、Incus ではいくつかのストレージドライバーが使えます。
これらのツールをインストールすると、initramfs への追加が行われ、ホストのブートが少しだけ遅くなるかもしれませんが、特定のドライバーを使いたい場合には必要です。

Expand Down
43 changes: 22 additions & 21 deletions doc/reference/devices_disk.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,24 +87,25 @@ VM `cloud-init`

`disk` デバイスには以下のデバイスオプションがあります:

キー | 型 | デフォルト値 | 必須 | 説明
:-- | :-- | :-- | :-- | :--
`boot.priority` | integer | - | no | VM のブート優先度(高いほうが先にブート)
`ceph.cluster_name` | string | `ceph` | no | Ceph クラスタのクラスタ名(Ceph か CephFS のソースには必須)
`ceph.user_name` | string | `admin` | no | Ceph クラスタのユーザー名(Ceph か CephFS のソースには必須)
`initial.*` | n/a | - | no | デフォルトストレージプール設定と独立して個別の設定を許可する{ref}`devices-disk-initial-config`
`io.cache` | string | `none` | no | VMのみ: デバイスのキャッシュモードを上書きする(`none`、`writeback`または`unsafe`)
`limits.max` | string | - | no | 読み取りと書き込み両方のbyte/sかIOPSによるI/O制限(`limits.read`と`limits.write`の両方を設定するのと同じ)
`limits.read` | string | - | no | byte/s(さまざまな単位が使用可能、{ref}`instances-limit-units`参照)もしくはIOPS(あとに`iops`と付けなければなりません)で指定する読み込みのI/O制限値 - {ref}`storage-configure-IO` も参照
`limits.write` | string | - | no | byte/s(さまざまな単位が使用可能、{ref}`instances-limit-units`参照)もしくはIOPS(あとに`iops`と付けなければなりません)で指定する書き込みのI/O制限値 - {ref}`storage-configure-IO` も参照
`path` | string | - | yes | ディスクをマウントするインスタンス内のパス(コンテナのみ)
`pool` | string | - | no | ディスクデバイスが属するストレージプール(Incus が管理するストレージボリュームにのみ適用可能)
`propagation` | string | - | no | バインドマウントをインスタンスとホストでどのように共有するかを管理する(`private` (デフォルト)、`shared`、`slave`、`unbindable`、 `rshared`、`rslave`、`runbindable`、`rprivate` のいずれか。完全な説明は Linux Kernel の文書 [shared subtree](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt) 参照) <!-- wokeignore:rule=slave -->
`raw.mount.options` | string | - | no | ファイルシステム固有のマウントオプション
`readonly` | bool | `false` | no | マウントを読み込み専用とするかどうかを制御
`recursive` | bool | `false` | no | ソースパスを再帰的にマウントするかどうかを制御
`required` | bool | `true` | no | ソースが存在しないときに失敗とするかどうかを制御
`shift` | bool | `false` | no | ソースの UID/GID をインスタンスにマッチするように変換させるためにオーバーレイの shift を設定するか(コンテナのみ)
`size` | string | - | no | byte(さまざまな単位が使用可能、 {ref}`instances-limit-units` 参照)で指定するディスクサイズ。`rootfs`(`/`) でのみサポートされます
`size.state` | string | - | no | 上の `size` と同じですが、仮想マシン内のランタイム状態を保存するために使われるファイルシステムボリュームに適用されます
`source` | string | - | yes | ファイルシステムまたはブロックデバイスのソース(詳細は{ref}`devices-disk-types`参照)
キー | 型 | デフォルト値 | 必須 | 説明
:-- | :-- | :-- | :-- | :--
`boot.priority` | integer | - | no | VM のブート優先度(高いほうが先にブート)
`ceph.cluster_name` | string | `ceph` | no | Ceph クラスタのクラスタ名(Ceph か CephFS のソースには必須)
`ceph.user_name` | string | `admin` | no | Ceph クラスタのユーザー名(Ceph か CephFS のソースには必須)
`initial.*` | n/a | - | no | デフォルトストレージプール設定と独立して個別の設定を許可する{ref}`devices-disk-initial-config`
`io.bus` | string | `virtio-scsi` | no | VMのみ: デバイスのバスを上書きする(`virtio-scsi`または`nvme`)
`io.cache` | string | `none` | no | VMのみ: デバイスのキャッシュモードを上書きする(`none`、`writeback`または`unsafe`)
`limits.max` | string | - | no | 読み取りと書き込み両方のbyte/sかIOPSによるI/O制限(`limits.read`と`limits.write`の両方を設定するのと同じ)
`limits.read` | string | - | no | byte/s(さまざまな単位が使用可能、{ref}`instances-limit-units`参照)もしくはIOPS(あとに`iops`と付けなければなりません)で指定する読み込みのI/O制限値 - {ref}`storage-configure-IO` も参照
`limits.write` | string | - | no | byte/s(さまざまな単位が使用可能、{ref}`instances-limit-units`参照)もしくはIOPS(あとに`iops`と付けなければなりません)で指定する書き込みのI/O制限値 - {ref}`storage-configure-IO` も参照
`path` | string | - | yes | ディスクをマウントするインスタンス内のパス(コンテナのみ)
`pool` | string | - | no | ディスクデバイスが属するストレージプール(Incus が管理するストレージボリュームにのみ適用可能)
`propagation` | string | - | no | バインドマウントをインスタンスとホストでどのように共有するかを管理する(`private` (デフォルト)、`shared`、`slave`、`unbindable`、 `rshared`、`rslave`、`runbindable`、`rprivate` のいずれか。完全な説明は Linux Kernel の文書 [shared subtree](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt) 参照) <!-- wokeignore:rule=slave -->
`raw.mount.options` | string | - | no | ファイルシステム固有のマウントオプション
`readonly` | bool | `false` | no | マウントを読み込み専用とするかどうかを制御
`recursive` | bool | `false` | no | ソースパスを再帰的にマウントするかどうかを制御
`required` | bool | `true` | no | ソースが存在しないときに失敗とするかどうかを制御
`shift` | bool | `false` | no | ソースの UID/GID をインスタンスにマッチするように変換させるためにオーバーレイの shift を設定するか(コンテナのみ)
`size` | string | - | no | byte(さまざまな単位が使用可能、 {ref}`instances-limit-units` 参照)で指定するディスクサイズ。`rootfs`(`/`) でのみサポートされます
`size.state` | string | - | no | 上の `size` と同じですが、仮想マシン内のランタイム状態を保存するために使われるファイルシステムボリュームに適用されます
`source` | string | - | yes | ファイルシステムまたはブロックデバイスのソース(詳細は{ref}`devices-disk-types`参照)
7 changes: 7 additions & 0 deletions doc/rest-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5798,6 +5798,8 @@ definitions:
example: foo
type: string
x-go-name: Project
source:
$ref: '#/definitions/StorageVolumeSource'
target:
$ref: '#/definitions/StorageVolumePostTarget'
volume_only:
Expand Down Expand Up @@ -5952,6 +5954,11 @@ definitions:
example: X509 PEM certificate
type: string
x-go-name: Certificate
location:
description: What cluster member this record was found on
example: server01
type: string
x-go-name: Location
mode:
description: Whether to use pull or push mode (for migration)
example: pull
Expand Down
1 change: 1 addition & 0 deletions doc/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
```{toctree}
:maxdepth: 1

LXDからの移行 </howto/server_migrate_lxd>
サーバーを設定するには <howto/server_configure>
/server_config
システム設定 <reference/server_settings>
Expand Down