ピナクルのくるくるパソコン術

みんなが使えるパソコン術を提供します。

【Ubuntu】【Lxd】Lxdのストレージ変更


Lxdのストレージ変更方法を説明します

* はじめに

今回はストレージが下記の状態からスタートします。

ubuntu@ubuntu:~$ lxc storage list
+---------+--------+--------------------------------------------+-------------+---------+---------+
|  NAME   | DRIVER |                   SOURCE                   | DESCRIPTION | USED BY |  STATE  |
+---------+--------+--------------------------------------------+-------------+---------+---------+
| default | btrfs  | /var/snap/lxd/common/lxd/disks/default.img |             | 1       | CREATED |
+---------+--------+--------------------------------------------+-------------+---------+---------+

* ①Lxdの新規ストレージ作成

  1. Lxdの新規ストレージ作成
    lxc storage createを実行します。
    コマンド
    lxc storage create ストレージ名 ファイルシステム source=ファイルパス
    項目説明
    ストレージ名 ストレージ名に設定したい任意の文字列
    ファイルシステム ストレージのファイルシステム
    以下から選べる
    ・dir
    ・ceph
    ・ceph
    ・btrfs
    ・lvm
    zfs
    ファイルパス ストレージに使用するファイルパス

    私は今回btrfsのファイルシステムにしたいので下記コマンドを実行しました。


    lxc storage create lxdfs btrfs source=/dev/sda
    失敗時
    Error: Failed to format block device: Failed to run: mkfs.btrfs -L lxdfs /dev/sda: /dev/sda appears to contain an existing filesystem (btrfs). ERROR: use the -f option to force overwrite of /dev/sda

    外付けHDDを設定しようとして上記MSGがでて失敗した場合は、下記コマンドでシグネチャを消去してください。

    sudo wipefs -a /dev/sda
    www.commandlinux.com

    設定に成功するとストレージが下記になります。

    lxc storage list
    +---------+--------+--------------------------------------------+-------------+---------+---------+ | NAME | DRIVER | SOURCE | DESCRIPTION | USED BY | STATE | +---------+--------+--------------------------------------------+-------------+---------+---------+ | default | btrfs | /var/snap/lxd/common/lxd/disks/default.img | | 1 | CREATED | +---------+--------+--------------------------------------------+-------------+---------+---------+ | lxdfs | btrfs | 780e0376-19ad-490f-b373-fa5728a22dfc | | 0 | CREATED | +---------+--------+--------------------------------------------+-------------+---------+---------+
  2. Lxdのデフォルトプロファイルの保存先を変更
    lxc profile editでデフォルトプロファイルの保存先を変更します。
    lxc profile edit default 

    エディターが開くのでpoolのdefaultを今回作成したストレージに変更します。
    default
    config: {} description: Default LXD profile devices: eth0: name: eth0 network: lxdbr0 type: nic root: path: / pool: default type: disk name: default used_by: []

    私は下記のように設定しました。


    config: {} description: Default LXD profile devices: eth0: name: eth0 network: lxdbr0 type: nic root: path: / pool: lxdfs type: disk name: default used_by: []

    設定変更後は同じコマンドで変更が保存されてるか確認してください。(私はよく保存を忘れます。。。)

    この段階でstorage listを確認するとUSED BYが前回と変わっています。

    lxc storage list
    +---------+--------+--------------------------------------------+-------------+---------+---------+ | NAME | DRIVER | SOURCE | DESCRIPTION | USED BY | STATE | +---------+--------+--------------------------------------------+-------------+---------+---------+ | default | btrfs | /var/snap/lxd/common/lxd/disks/default.img | | 0 | CREATED | +---------+--------+--------------------------------------------+-------------+---------+---------+ | lxdfs | btrfs | 780e0376-19ad-490f-b373-fa5728a22dfc | | 1 | CREATED | +---------+--------+--------------------------------------------+-------------+---------+---------+
  3. 不要になったLxdストレージの削除
    lxc storage deleteでストレージを削除します。
    コマンド
    lxc storage delete ストレージ名

    私は今回下記を実行しました。成功するとdeletedと表示されます。

    
    ubuntu@ubuntu:~$ lxc storage delete default
    Storage pool default deleted
    

    storage listを確認するとストレージが削除されています。

    lxc storage list
    +-------+--------+--------------------------------------+-------------+---------+---------+
    | NAME  | DRIVER |                SOURCE                | DESCRIPTION | USED BY |  STATE  |
    +-------+--------+--------------------------------------+-------------+---------+---------+
    | lxdfs | btrfs  | 780e0376-19ad-490f-b373-fa5728a22dfc |             | 1       | CREATED |
    +-------+--------+--------------------------------------+-------------+---------+---------+