Ceph RBD 掛載 with_openSUSELeap42.2小記
最近準備開始測試 ceph 檔案系統, Server 的建置是由其他同事負責, 所以我這邊紀錄 client 的相關使用小記
OS: openSUSE Leap 42.2 VM in VMware ESXi
使用 zypper 安裝 ceph-common 套件
# zypper install ceph-common
正在載入套件庫資料...
正在讀取已安裝的套件...
正在解決套件相依性...
將會安裝下列 13 個新的套件:
ceph-common libboost_program_options1_54_0 libboost_random1_54_0 libboost_regex1_54_0 libcephfs1 librados2 libradosstriper1 librbd1 python-cephfs python-ndg-httpsclient python-rados
python-rbd python-requests
下列 1 個推薦的套件已自動被選取:
python-ndg-httpsclient
13 要安裝的新套件.
全部下載大小:12.2 MiB。已快取:0 B。 完成操作後,將使用額外的 47.5 MiB。
要繼續嗎? [y/n/? 顯示所有選項] (y): y
設定 ceph 主機IP
#vi /etc/ceph/ceph.conf
[global]
mon host = YOUR_CEPH_SERVER_IP
設定 keyring
其中 client.sakana
- sakana 是帳號
#vi /etc/ceph/ceph.client.sakana.keyring
[client.sakana]
key = AQCWsx5ZikhdRcAA/Bsqwec+6Mka/ucQ1A7wiQ==
進行 rbd 的 map
- windows10 為RBD的名稱
- sakana 必須對應剛剛
# rbd --id sakana map windows10
/dev/rbd0
檢查是否有成功 map
# rbd --id sakana showmapped
id pool image snap device
0 rbd windows10 - /dev/rbd0
使用 mkfs 指令進行格式化, 因為是實驗 block device, 發現上面已經有 filesystem, 會要求使用 -f 方式強制執行
# mkfs.xfs /dev/rbd0
mkfs.xfs: /dev/rbd0 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
使用 mkfs.xfs 格式化 xfs
# mkfs.xfs -f /dev/rbd0
meta-data=/dev/rbd0 isize=256 agcount=17, agsize=1637376 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0, sparse=0
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=1024 swidth=1024 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=12800, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
建立掛載點
# mkdir -p /mnt/rbd0
進行掛載動作, 將 /dev/rbd0 掛載到 /mnt/rbd0
# mount /dev/rbd0 /mnt/rbd0/
觀察掛載情形
# df -h
檔案系統 容量 已用 可用 已用% 掛載點
devtmpfs 952M 4.0K 952M 1% /dev
tmpfs 1000M 104K 1000M 1% /dev/shm
tmpfs 1000M 2.2M 998M 1% /run
tmpfs 1000M 0 1000M 0% /sys/fs/cgroup
/dev/sda2 18G 5.6G 13G 32% /
tmpfs 201M 20K 200M 1% /run/user/478
tmpfs 201M 4.0K 200M 1% /run/user/0
/dev/rbd0 100G 33M 100G 1% /mnt/rbd0
設定開機進行掛載, 使用 rbdmap 服務
設定 /etc/rbdmap 檔案, 將 image 還有id對應以及 keyring 設定完成
# vi /etc/ceph/rbdmap
# RbdDevice Parameters
#poolname/imagename id=client,keyring=/etc/ceph/ceph.client.keyring
rbd/windows10 id=sakana,keyring=/etc/ceph/ceph.client.sakana.keyring
編輯 /etc/fstab
# vi /etc/fstab
/dev/rbd0 /mnt/rbd0 xfs noauto 0 0
設定 rbdmap 服務啟動以及開機啟動
# systemctl status rbdmap.service
# systemctl is-enabled rbdmap.service
# systemctl enable rbdmap.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rbdmap.service to /usr/lib/systemd/system/rbdmap.service.
# systemctl start rbdmap.service
測試
使用 dd 指令進行測試
# dd if=/dev/zero of=/mnt/rbd0/testfile bs=1M count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 3.1967 s, 168 MB/s
使用 iozone 進行測試
安裝 iozone 套件
# zypper install iozone
正在載入套件庫資料...
正在讀取已安裝的套件...
正在解決套件相依性...
將會安裝下列 1 個新的套件:
iozone
1 要安裝的新套件.
全部下載大小:151.2 KiB。已快取:0 B。 完成操作後,將使用額外的 465.3 KiB。
要繼續嗎? [y/n/? 顯示所有選項] (y): y
安裝 gunplot 套件
# zypper install gnuplot
正在載入套件庫資料...
正在讀取已安裝的套件...
正在解決套件相依性...
將會安裝下列 6 個新的套件:
gnuplot libcaca0 libQt5PrintSupport5 libQt5Svg5 libwx_baseu-suse1 libwx_gtk2u_core-suse1
6 要安裝的新套件.
全部下載大小:3.7 MiB。已快取:0 B。 完成操作後,將使用額外的 14.0 MiB。
要繼續嗎? [y/n/? 顯示所有選項] (y): y
使用 iozone 指令進行測試
- 這邊我使用 -f 指定到 /mnt/rbd0/iozonetest 不知道是否正確
- 結果會輸出到 /root/iozone.log
# iozone -a -f /mnt/rbd0/iozonetest > /root/iozone.log
可以看 /root/iozone.log 來看相關數據
# cat /root/iozone.log
Iozone: Performance Test of File I/O
Version $Revision: 3.444 $
Compiled for 64 bit mode.
Build: linux
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov.
Run began: Tue Jun 6 15:56:08 2017
Auto Mode
Command line used: iozone -a -f /mnt/rbd0/iozonetest
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
64 4 821391 2561267 5860307 6421025 4018152 3057153 2772930 3791156 4564786 2298136 2772930 4018152 4897948
64 8 1562436 3057153 7100397 7100397 7100397 4018152 4564786 4897948 6421025 4018152 3203069 5389653 6271021
64 16 1690338 3203069 7940539 8182586 8182586 4274062 4564786 4897948 6421025 4018152 3588436 5283570 6421025
64 32 1562436 3363612 9318832 7940539 9318832 4274062 4988978 4564786 6271021 3203069 4564786 5860307 6421025
64 64 926260 3363612 10821524 9318832 7940539 4564786 5283570 4564786 5735102 4274062 3541098 5735102 7100397
128 4 1539168 3199360 6114306 6406138 5325799 3359523 4267461 4135958 4557257 3468030 3124872 5325799 5847904
128 8 1827299 3560017 7582312 7582312 7082197 4104338 5325799 5545860 7082197 4135958 3657016 6406138 6812590
128 16 1967960 3759450 7582312 7582312 7582312 4407601 5325799 5784891 7476717 4407601 3895854 6406138 7082197
128 32 2066432 4012317 8548124 8414153 8036304 4717434 6114306 6114306 8036304 4934216 4444086 7082197 7082197
另外可以用內建的script 產生圖形
給予執行權限
# chmod a+x /usr/share/iozone/Generate_Graphs
進入 /usr/share/iozone 目錄
#cd /usr/share/iozone
產生圖表
# /usr/share/iozone/Generate_Graphs /root/iozone.log
Notes
- 如果有第2台機器進行掛載 RBD, 不會進行警告, 有被重複格式化的風險
Reference:
~ enjoy it
沒有留言:
張貼留言