Ceph Reef : ブロックデバイスを利用する2025/10/28 |
|
以下のような構成の Ceph クラスターストレージを、[dlp] クライアントから利用できるように設定します。
|
+--------------------+ |
| [dlp.srv.world] |10.0.0.30 |
| Ceph Client +-----------+
| | |
+--------------------+ |
+----------------------------+----------------------------+
| | |
|10.0.0.51 |10.0.0.52 |10.0.0.53
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
| [node01.srv.world] | | [node02.srv.world] | | [node03.srv.world] |
| Object Storage +----+ Object Storage +----+ Object Storage |
| Monitor Daemon | | | | |
| Manager Daemon | | | | |
+-----------------------+ +-----------------------+ +-----------------------+
|
|
例として、クライアント上でブロックデバイスを作成して利用します。 |
|
| [1] | 管理ノードからクライアントホストへ SSH 公開鍵を転送し、設定します。 |
|
# 公開鍵転送 node01:~ # ssh-copy-id dlp # クライアントホストに必要なパッケージをインストール node01:~ # ssh dlp "zypper -n install ceph-common"
# クライアントホストに必要なファイルを転送 node01:~ # scp /etc/ceph/ceph.conf dlp:/etc/ceph/ ceph.conf 100% 195 98.1KB/s 00:00node01:~ # scp /etc/ceph/ceph.client.admin.keyring dlp:/etc/ceph/ ceph.client.admin.keyring 100% 151 71.5KB/s 00:00node01:~ # ssh dlp "chown ceph:ceph /etc/ceph/ceph.*" |
| [2] | クライアント上でのブロックデバイスの作成とマウントです。 |
|
# デフォルト RBD プール [rbd] 作成 dlp:~ # ceph osd pool create rbd 32 pool 'rbd' created # Placement Groups オートスケール 有効化 dlp:~ # ceph osd pool set rbd pg_autoscale_mode on set pool 2 pg_autoscale_mode to on # プール 初期化 dlp:~ # rbd pool init rbd ceph osd pool autoscale-status POOL SIZE TARGET SIZE RATE RAW CAPACITY RATIO TARGET RATIO EFFECTIVE RATIO BIAS PG_NUM NEW PG_NUM AUTOSCALE BULK .mgr 452.0k 3.0 479.9G 0.0000 1.0 1 on False rbd 1365 3.0 479.9G 0.0000 1.0 32 on False # 10G のブロックデバイスを作成 dlp:~ # rbd create --size 10G --pool rbd rbd01
# 確認 dlp:~ # rbd ls -l AME SIZE PARENT FMT PROT LOCK rbd01 10 GiB 2 # 作成したブロックデバイスをマッピング dlp:~ # rbd map rbd01 /dev/rbd0 # 確認 dlp:~ # rbd showmapped id pool namespace image snap device 0 rbd rbd01 - /dev/rbd0 # Btrfs でフォーマット dlp:~ # mkfs.btrfs /dev/rbd0
btrfs-progs v6.14
See https://btrfs.readthedocs.io for more information.
Performing full device TRIM /dev/rbd0 (10.00GiB) ...
NOTE: several default settings have changed in version 5.15, please make sure
this does not affect your deployments:
- DUP for metadata (-m dup)
- enabled no-holes (-O no-holes)
- enabled free-space-tree (-R free-space-tree)
Label: (null)
UUID: bcb68a35-9353-4721-bc84-7fad9a7e3dab
Node size: 16384
Sector size: 4096 (CPU page size: 4096)
Filesystem size: 10.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: DUP 256.00MiB
System: DUP 8.00MiB
SSD detected: yes
Zoned device: no
Features: extref, skinny-metadata, no-holes, free-space-tree
Checksum: crc32c
Number of devices: 1
Devices:
ID SIZE PATH
1 10.00GiB /dev/rbd0
dlp:~ #
dlp:~ # mount /dev/rbd0 /mnt df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/vda2 btrfs 28G 2.8G 25G 11% / devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 784M 744K 783M 1% /run tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service /dev/vda2 btrfs 28G 2.8G 25G 11% /.snapshots /dev/vda2 btrfs 28G 2.8G 25G 11% /boot/grub2/i386-pc /dev/vda2 btrfs 28G 2.8G 25G 11% /boot/grub2/x86_64-efi /dev/vda2 btrfs 28G 2.8G 25G 11% /home /dev/vda2 btrfs 28G 2.8G 25G 11% /srv tmpfs tmpfs 2.0G 0 2.0G 0% /tmp /dev/vda2 btrfs 28G 2.8G 25G 11% /root /dev/vda2 btrfs 28G 2.8G 25G 11% /opt /dev/vda2 btrfs 28G 2.8G 25G 11% /usr/local /dev/vda2 btrfs 28G 2.8G 25G 11% /var tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/serial-getty@ttyS0.service tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service tmpfs tmpfs 392M 4.0K 392M 1% /run/user/0 /dev/rbd0 btrfs 10G 5.8M 9.5G 1% /mnt |
| [3] | 作成したブロックデバイスやプールを削除する場合は以下のように実行します。 プールを削除する場合は [Monitor Daemon] の設定で、[mon allow pool delete = true] が設定されている必要があります。 |
|
# アンマップ dlp:~ # rbd unmap /dev/rbd/rbd/rbd01
# ブロックデバイス削除 dlp:~ # rbd rm rbd01 -p rbd Removing image: 100% complete...done. # プール削除 # ceph osd pool delete [プール名] [プール名] *** dlp:~ # ceph osd pool delete rbd rbd --yes-i-really-really-mean-it pool 'rbd' removed |
| Sponsored Link |
|
|