ユーザ用ツール

サイト用ツール


このページの翻訳:



最近の更新



Tag Cloud

06_virtualization:05_container:16_kubernetes_linstor

文書の過去の版を表示しています。


16 Kubernetes + DRBD Linstor

Kubernetes用の冗長化ストレージとして、Linstorを用意してみる。

LinstorはLINBITが開発した、DRBDを管理する管理DBを持つlinstor-controllerとlinstor-satelliteというデータディスクを扱うプログラムで構成されてます。

https://github.com/LINBIT/linstor-server

1.環境

今回はKubernetesのworkerノード3台で、Linstor

name IP Disk DRBD用
node1172.16.0.65/dev/sda/dev/sdb
node2172.16.0.252/dev/sda/dev/sdb
node3172.16.0.234/dev/sda/dev/sdb

2. DRBDインストール

add-apt-repository ppa:linbit/linbit-drbd9-stack
apt-get update && apt install drbd-utils drbd-dkms lvm2
modprobe drbd

DRBD確認

# cat /proc/drbd
version: 9.1.6 (api:2/proto:110-121)
GIT-hash: f85adeb71f16a0aead1e875665e2fb68852d94eb build by root@worker01, 2022-04-15 21:43:08
Transports (api:17): tcp (9.1.6)

3. Linstorインストール

今回は3台でlinstor-controllerを冗長化するので、3台とも全部インストール

apt install linstor-controller linstor-satellite linstor-client

linstor-controllerはDisable

systemctl disable linstor-controller

4. Linstor初期化

1度node1で、linstor-controllerを上げて初期設定を行います。

node1# systemctl start linstor-controller

linstor node create node1 172.16.0.65
linstor node create node2 172.16.0.252
linstor node create node3 172.16.0.234

確認

node1# linstor node list 
╭────────────────────────────────────────────────────────╮
 Node   NodeType   Addresses                  State  
╞════════════════════════════════════════════════════════╡
 node1  SATELLITE  172.16.0.65:3366 (PLAIN)   Online 
 node2  SATELLITE  172.16.0.252:3366 (PLAIN)  Online 
 node3  SATELLITE  172.16.0.234:3366 (PLAIN)  Online 
╰────────────────────────────────────────────────────────╯

5.Storage pool 設定

こちらも、linstor-controllerを起動しているnode1で実行する。

pvcreate /dev/sdb
vgcreate vg /dev/sdb
lvcreate -l 100%FREE --thinpool vg/lvmthinpool

linstor storage-pool create lvmthin node1 linstor-pool vg/lvmthinpool
linstor storage-pool create lvmthin node2 linstor-pool vg/lvmthinpool
linstor storage-pool create lvmthin node3 linstor-pool vg/lvmthinpool

確認

node1# linstor storage-pool list
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 StoragePool           Node   Driver    PoolName        FreeCapacity  TotalCapacity  CanSnapshots  State  SharedName 
╞═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
 DfltDisklessStorPool  node1  DISKLESS                                               False         Ok                
 DfltDisklessStorPool  node2  DISKLESS                                               False         Ok                
 DfltDisklessStorPool  node3  DISKLESS                                               False         Ok                
 linstor-pool          node1  LVM_THIN  vg/lvmthinpool     19.92 GiB      19.96 GiB  True          Ok                
 linstor-pool          node2  LVM_THIN  vg/lvmthinpool     19.92 GiB      19.96 GiB  True          Ok                
 linstor-pool          node3  LVM_THIN  vg/lvmthinpool     19.92 GiB      19.96 GiB  True          Ok                
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
06_virtualization/05_container/16_kubernetes_linstor.1650094130.txt.gz · 最終更新: 2022/04/16 16:28 by matsui