本地LVM存储
如何配置和使用本地LVM存储
LVM 是什么
LVM(Logical Volume Manager)是一种逻辑卷管理器,可以将一个或多个物理存储设备抽象为一个或多个逻辑卷,并将逻辑卷分配给文件系统和其他应用程序使用。
cloudpods 如何添加 LVM 存储
- 修改/etc/yunion/host.conf,在 lvm_volume_groups 的字符串数组中添加新的 VG:
lvm_volume_groups:
- storage1 # vgname
当然需要提前确保这个 VG 是存在的
$ vgs
VG #PV #LV #SN Attr VSize VFree
storage1 1 1 0 wz--n- <200.00g <170.00g
- 重启host服务
host服务重启后,稍等片刻,查看宿主机的存储列表,就能看到这个新的存储注册上来了。
climc storage-list --host <host_id>
eg:
climc storage-list --host 12880086-034d-46b0-89ca-6d4f51d2de6a
+--------------------------------------+--------------------------------------+----------+----------------------+--------+--------------+-------------+---------+--------------+
| ID | Name | Capacity | Actual_capacity_used | Status | Storage_type | Medium_type | Enabled | public_scope |
+--------------------------------------+--------------------------------------+----------+----------------------+--------+--------------+-------------+---------+--------------+
| 86259ab3-cf7b-4f19-8fd6-0c49094638aa | host_192.168.222.102_lvm_storage_0 | 204796 | 0 | online | lvm | rotate | true | none |
+--------------------------------------+--------------------------------------+----------+----------------------+--------+--------------+-------------+---------+--------------+
如何创建一个 VG
以下是一个简要的流程:
# 如: /dev/sdb 是可以给虚机使用的磁盘,首先创建 PV.
pvcreate /dev/sdb
# storage1 则是我们创建的 VG.
vgcreate storage1 /dev/sdb
如何删除 LVM 存储
和删除本地存储的步骤类似:
- 需要确保所有的虚拟磁盘都被删除,特别需要留意被伪删除的磁盘,以及被标记为系统资源的磁盘:
# 查看所有的磁盘,包括不再执行命令用户所在项目下的所有磁盘,以及被标记为系统资源的磁盘
climc disk-list --storage <storage_id> --scope system --system
# 查看所有的未删除的磁盘
climc disk-list --storage <storage_id> --scope system --system --pending-delete
- 解除存储和宿主机的关联关系:
climc host-storage-detach <host_id> <storage_id>
- 删除存储
climc storage-delete <storage_id>
到宿主机,修改 /etc/yunion/host.conf,将该存储所在路径从 lvm_volume_groups 删除
重启host服务