星期二, 6月 06, 2017

Ceph RBD 掛載 with_openSUSELeap42.2小記

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

2017-06-06 16-21-29 的螢幕擷圖.png


Notes
  • 如果有第2台機器進行掛載 RBD, 不會進行警告, 有被重複格式化的風險


Reference:



~ enjoy it

沒有留言: