客戶端內核要求node
1:RBD方式掛載web
2:cephfs 掛載緩存
3:對象文件上傳下載安全
###########################客戶端內核要求##############################
1:升級client端內核
操做系統使用CentOS6.6,由於系統已經包含xfs的支持能夠直接使用不須要再次編譯。
因爲CentOS6.5系統的內核爲2.6.32,所以要關閉硬盤的寫入緩存,若高於此版本不須要關閉。
#hdparm -W 0 /dev/sdb 0
app
2:升級系統內核
kernel 2.6.34之前的版本是沒有Module rbd的,把系統內核版本升級到最新
rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y
ide
3:安裝完內核後修改/etc/grub.conf配置文件使
修改配置文件中的 Default=1 to Default=0
lua
4:驗證內核支持
[首先加載ceph.ko]
#modprobe -l|grep ceph
kernel/fs/ceph/ceph.ko
kernel/net/ceph/libceph.ko
#modprobe ceph
5:機器重啓後生效 init 6spa
####################RBD方式掛載###################################
操作系統
1:安裝ceph軟件包、同步集羣配置文件和keyorm
Yum install ceph –y
2:新建一個ceph pool
ceph osd pool create {pool-name} {pg-num} [{pgp-num}] 實例
ceph osd pool create rbdpool 100 100
3:在pool中新建一個鏡像
rbd create rbdpoolp_w_picpaths --size 80960 -p rbdpool 或者 rbd create rbdpool/rbdpoolp_w_picpaths --size 102400
4:列出塊設備在一個特定的池,執行如下命令並替換大括號內相關{POOLNAME}池名稱:
rbd ls rbdpool
5:查詢一個池內的鏡像信息,執行下面的,更換{鏡像}的鏡像名稱和池名稱替換{池名稱}:
rbd --p_w_picpath {p_w_picpath-name} -p {pool-name} info 示例:
rbd --p_w_picpath rbdpoolp_w_picpaths -p rbdpool info
rbd p_w_picpath 'rbdpoolp_w_picpaths':
size 80960 MB in 20240 objects
order 22 (4096 kB objects)
block_name_prefix: rb.0.1272.238e1f29
format: 1
6:把鏡像映射到pool塊設備中
rbd map rbdpoolp_w_picpaths -p rbdpool
/dev/rbd1
7:取消映射塊設備:
使用RBD命令要取消映射塊設備鏡像,指定rm選項,設備名稱(即,通常以做爲塊設備映像名稱相同)
rbd unmap /dev/rbd/{poolname}/{p_w_picpathname}
例如:
rbd unmap /dev/rbd1
8:查看鏡像映射map
rbd showmapped
id pool p_w_picpath snap device
1 rbdpool rbdpoolp_w_picpaths - /dev/rbd1
9:格式化映射的設備塊
mkfs.xfs -m0 /dev/rbd1
參數:-m reserved-blocks-percentage,保留塊百分比,-m:設置預留空間
默認是5%。也就是2G的空間,文件系統只是有2G*95%
10:掛載新建的分區
mkdir /rbddir
mount /dev/rbd1 /rbddir
df -h
/dev/rbd0 78G 56M 78G 1% /rbddir
11:把掛載的信息寫到fstab裏
/dev/rbd0 /rbddir xfs defaults 0 0
12:查看建立的池
ceph osd lspools
13:從池中取出一個塊設備,請執行如下命令,請更換大括號內相關的鏡像的名字,池的名稱替換{池名稱}的名稱及替換大括號內{鏡像}名稱:
rbd rm {p_w_picpath-name} -p {pool-name} 示例:
rbd rm rbdpoolp_w_picpaths -p rbdpool
14:刪除池
ceph osd pool delete kman kman --yes-i-really-really-mean-it
15:建立池參考資料
http://docs.openfans.org/ceph/ceph4e2d658765876863/ceph-1/ceph-storage-cluster3010ceph5b5850a896c67fa43011/operations301064cd4f5c3011/pools30106c603011
##########################cephFS掛載####################################
建立cephfs文件系統
對於一個剛建立的MDS服務,雖然服務是運行的,可是它的狀態直到建立 pools 以及文件系統的時候纔會變爲Active.
1:查看cephfs 狀態命令:
ceph mds dump
2:建立cephfs 存儲池
ceph osd pool create {pool-name} {pg-num} [{pgp-num}]
{pool-name}--> 存儲池名稱,必須惟一。
{pg-num}--> 存儲池擁有的歸置組總數。
{pgp-num}--> 用於歸置的歸置組總數。
ceph osd pool create cephfs_data 10
ceph osd pool create cephfs_metadata 10
ceph fs new leadorfs cephfs_metadata cephfs_data
3:驗證數據生成
[root@web-3-136 ~]# ceph mds stat
e10: 1/1/1 up {0=dn-5-228=up:active}, 2 up:standby
##########################cephfs客戶端掛載###############################
1:安裝客戶端掛載軟件
yum install ceph-fuse -y
2:建立掛載目錄
mkdir /cephfs
磁盤掛載
3.1:使用密鑰掛載
ceph auth list #查找client.admin 密鑰
client.admin
key: AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==
caps: [mds] allow
caps: [mon] allow *
caps: [osd] allow *
掛載:
mount -t ceph 172.17.5.225:6789:/ /cephfs -o name=admin,secret=AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==
4:驗證掛載結果:
df -Th
Filesystem Type Size Used Avail Use% Mounted on
172.17.5.225:6789:/ ceph 30T 648M 30T 1% /cephfs
5:證書來源位置
more /etc/ceph/ceph.client.admin.keyring #key證書來源
[client.admin]
key = AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==
6:使用密鑰文件掛載
mount -t ceph node01:6789:/ /cephfs -v -o name=admin,secretfile=/etc/ceph/ceph.client.admin.keyring 或
mount.ceph 172.17.5.225:6789:/ /cephfs -o name=admin,secret=AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==
7:若果有多個mon監控節點,能夠掛載多可節點,保證了cephFS的安全行,當有一個節點down的時候不影響寫入數據
mount.ceph dn-5-225,dn-5-227,dn-5-229:/ /cephfs -o name=admin,secret=AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==
8:驗證掛載信息:
config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
df -h
Filesystem Size Used Avail Use% Mounted on
172.17.5.225,172.17.5.227,172.17.5.229:/
30T 648M 30T 1% /cephfs
9:把掛載的信息寫到fstab裏
[root@client ~]# vi /etc/fstab
172.17.5.225,172.17.5.227,172.17.5.229:/ /cephfs ceph name=admin,secret=AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==,0 0
10:ceph-fuse指定key文件的調用方式
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m dn-5-225 /cephfs
11:驗證掛載信息:
df -h
ceph-fuse 30T 648M 30T 1% /cephfs
12:文件系統表如下內容添加到/etc/fstab中
id=admin,conf=/etc/ceph/ceph.conf /cephfs fuse.ceph defaults 0 0
13:執行掛載
[root@web-3-136 ~]# mount -a
ceph-fuse[11305]: starting ceph client
2015-07-15 16:49:29.322048 7f3325caa760 -1 init, newargv = 0x47e97d0 newargc=13
ceph-fuse[11305]: starting fuse
14:驗證掛載信息:
[root@web-3-136 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
ceph-fuse
fuse.ceph-fuse 30T 648M 30T 1% /cephfs
15:掛載後查看結果,注意觀察類型
df -Th
####################對象文件上傳,查看###########################
1:建立一個pool
#rados mkpool
2:上傳rados put {object-name} {file-path} --pool=putdir
示例
rados put zabbix_client_install.tar.gz ./zabbix_client_install.tar.gz --pool=putdir
3:查看上傳內容:
rados -p putdir ls
zabbix_client_install.tar.gz
4:下載對象文件
下載 rados get {object-name} {file-path} --pool=putdir
rados get zabbix_client_install.tar.gz /workspace/zabbix_client_install.tar.gz -p putdir
#####################################################################