您好,登錄后才能下訂單哦!
Yum:
http://mirrors.163.com
http://mirrors.aliyun.com
http://mirrors.sohu.com
點(diǎn)擊圖中CentOS7就可以下載網(wǎng)易的repo文件,將其拷貝到/etc/yum.repos.d/目錄下就能在線使用網(wǎng)易的源了。
EPEL: Extra Packages for Enterprise Linux
點(diǎn)擊上圖中的鏈接,將會(huì)下載一個(gè)名為epel-release-latest-7.noarch.rpm的軟件包,只要把它安裝上,/etc/yum.repos.d/目錄下將會(huì)出現(xiàn)新的repo文件
使用CEPH提供塊設(shè)備
1、CEPH默認(rèn)有一個(gè)存儲(chǔ)池
[root@node1 ceph_conf]# ceph osd lspools
2、為了能夠給客戶(hù)端提供塊設(shè)備,需要?jiǎng)?chuàng)建image
3、在默認(rèn)的池中創(chuàng)建一個(gè)10GB大小,名為demo-image的鏡像
[root@node1 ceph_conf]# rbd create demo-image --image-feature layering --size 10G
4、另一種創(chuàng)建方法:指定在rbd這個(gè)池里創(chuàng)建一個(gè)名為image的鏡像
[root@node1 ceph_conf]# rbd create rbd/image --image-feature layering --size 10G
5、列出鏡像
[root@node1 ceph_conf]# rbd list
6、查看image的詳情
[root@node1 ceph_conf]# rbd info image
7、調(diào)整image鏡像的大小為7GB(體驗(yàn)而已,不推薦減小操作)
[root@node1 ceph_conf]# rbd resize --size 7G image --allow-shrink
8、調(diào)整image鏡像的大小為15GB
[root@node1 ceph_conf]# rbd resize --size 15G image
[root@node1 ceph_conf]# rbd info image
客戶(hù)端使用RBD塊設(shè)備
1、在Client上安裝客戶(hù)端軟件包
[root@client ~]# yum install -y ceph-common
2、把配置文件和用戶(hù)密鑰文件拷貝給客戶(hù)端
[root@node1 ceph_conf]# scp /etc/ceph/ceph.conf 192.168.4.10:/etc/ceph/
[root@node1 ceph_conf]# scp /etc/ceph/ceph.client.admin.keyring 192.168.4.10:/etc/ceph/
3、客戶(hù)端把CEPH的image鏡像作為本地磁盤(pán)使用
[root@client ~]# rbd list
[root@client ~]# rbd map image
[root@client ~]# lsblk 多出一個(gè)15GB的rbd0
4、使用RBD塊設(shè)備
[root@client ~]# mkfs.xfs /dev/rbd0
[root@client ~]# mount /dev/rbd0 /mnt/
[root@client ~]# df -h /mnt/
[root@client ~]# echo "hello world" >> /mnt/hi.txt
[root@client ~]# cat /mnt/hi.txt
5、查看image鏡像的快照
[root@client ~]# rbd snap ls image
6、為image創(chuàng)建一個(gè)名為image-snap1的快照
[root@client ~]# rbd snap create image --snap image-snap1
[root@client ~]# rbd snap ls image
7、模擬誤刪除
[root@client ~]# rm -f /mnt/hi.txt
8、還原快照,以還原誤刪除的文件
(1)卸載鏡像
[root@client ~]# umount /mnt/
(2)使用image-snap1還原快照
[root@client ~]# rbd snap rollback image --snap image-snap1
(3)掛載鏡像,查看是否已還原
[root@client ~]# mount /dev/rbd0 /mnt/
[root@client ~]# ls /mnt/
[root@client ~]# cat /mnt/hi.txt
通過(guò)快照創(chuàng)建鏡像
1、設(shè)置image-snap1為保護(hù)狀態(tài)
[root@client ~]# rbd snap protect image --snap image-snap1
2、使用image的快照image-snap1克隆一個(gè)新的image-clone鏡像
[root@client ~]# rbd clone image --snap image-snap1 image-clone --image-feature layering
3、查看新鏡像與父鏡像的關(guān)系
[root@client ~]# rbd info image-clone 找到它的parent是rbd/image@image-snap1
br/>找到它的parent是rbd/image@image-snap1
[root@client ~]# rbd flatten image-clone
[root@client ~]# rbd info image-clone 此時(shí),它已沒(méi)有parent
刪除掛載
[root@client ~]# rbd showmapped 可以查看到鏡像到本地的塊設(shè)備映射
[root@client ~]# umount /mnt/
[root@client ~]# rbd unmap image 取消映射
[root@client ~]# rbd showmapped
[root@client ~]# lsblk 發(fā)現(xiàn)rbd0已經(jīng)不存在了
刪除快照
[root@client ~]# rbd snap ls image 列出image的快照
[root@client ~]# rbd snap unprotect image --snap image-snap1
[root@client ~]# rbd snap rm image --snap image-snap1
刪除鏡像
[root@client ~]# rbd rm image
[root@client ~]# rbd list
安裝KVM虛擬機(jī),磁盤(pán)存儲(chǔ)在CEPH集群上
1、將物理主機(jī)設(shè)置成為CEPH客戶(hù)端
[root@room8pc16 ~]# yum install -y ceph-common
[root@room8pc16 ~]# scp 192.168.4.1:/etc/ceph/ceph.conf /etc/ceph/
[root@room8pc16 ~]# scp 192.168.4.1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/
2、新建一個(gè)名為vm1-image的鏡像,作為KVM虛擬機(jī)的磁盤(pán)
[root@room8pc16 ~]# rbd create vm1-image --image-feature layering --size 10G
3、查看鏡像信息
[root@room8pc16 ~]# rbd info vm1-image
[root@room8pc16 ~]# qemu-img info rbd:rbd/vm1-image
4、在virt-manager圖形界面中,創(chuàng)建新的虛擬機(jī),名為rhel7-ceph2,按正常步驟創(chuàng)建即可。當(dāng)虛擬機(jī)創(chuàng)建完成后,將會(huì)啟動(dòng),此時(shí),點(diǎn)擊強(qiáng)制關(guān)機(jī)。
5、KVM虛擬機(jī)在使用CEPH的時(shí)候,需要認(rèn)證,我們可以創(chuàng)建一個(gè)secret(相當(dāng)于通行證)
(1)在物理主機(jī)上創(chuàng)建一臨時(shí)文件
[root@room8pc16 ~]# vim /tmp/secret.xml
<secret ephemeral='no' private='no'>
<usage type='ceph'>
<name>client.admin secret</name>
</usage>
</secret>
(2)利用臨時(shí)文件生成secret通行證信息
[root@room8pc16 ~]# virsh secret-list 查看secret
[root@room8pc16 ~]# virsh secret-define --file /tmp/secret.xml
[root@room8pc16 ~]# virsh secret-list 已經(jīng)生成secret
6、將kvm的secret和ceph的管理員用戶(hù)client.admin進(jìn)行關(guān)聯(lián)
(1)查看管理員的keyring
[root@room8pc16 ~]# cat /etc/ceph/ceph.client.admin.keyring
(2)關(guān)聯(lián)secret和keyring
[root@room8pc16 ~]# virsh secret-set-value --secret f59c54be-d479-41a6-a09c-cf2f7ffc57cb --base64 AQDaDSpboImwIBAAzX800q+H0BCNq9xq2xQaJA==
7、導(dǎo)出rhel7-ceph2的xml文件
[root@room8pc16 ~]# virsh dumpxml rhel7-ceph2 > /tmp/vm.xml
8、修改vm.xml
[root@room8pc16 ~]# vim /tmp/vm.xml
找到以下內(nèi)容:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/rhel7-ceph2.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
將其改為
<disk type='network' device='disk'>
<driver name='qemu' type='raw'/>
<auth username='admin'>
<secret type='ceph' uuid='f59c54be-d479-41a6-a09c-cf2f7ffc57cb'/>
</auth>
<source protocol='rbd' name='rbd/vm1-image'>
<host name='192.168.4.1' port='6789'/>
</source>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
9、在virt-manager中將rhel7-ceph2刪除
10、使用修改過(guò)的vm.xml生成虛擬機(jī)
[root@room8pc16 ~]# virsh define /tmp/vm.xml
Virt-manager中將會(huì)出現(xiàn)rhel7-ceph2虛擬機(jī)
11、修改虛擬機(jī)配置,把IDE CDROM1連接光盤(pán)文件,然后在Boot Options中勾選“啟用引導(dǎo)菜單”,把光盤(pán)作為第一啟動(dòng)介質(zhì)
使用CEPH FS為客戶(hù)端提供文件系統(tǒng)(相當(dāng)于NFS),注意,這種方式還不成熟,不建議用在生產(chǎn)環(huán)境下。
1、準(zhǔn)備node4作為MDS(元數(shù)據(jù)服務(wù)器)
2、在node4上安裝軟件包
[root@node4 ~]# yum install -y ceph-mds
3、在node1上配置node4的MDS
[root@node1 ceph_conf]# cd /root/ceph_conf/ 進(jìn)入配置文件目錄
4、同步admin的keyring到node4
[root@node1 ceph_conf]# ceph-deploy admin node4
5、在NODE4上啟用mds服務(wù)(在node1上操作)
[root@node1 ceph_conf]# ceph-deploy mds create node4
6、創(chuàng)建存儲(chǔ)池。至少有兩個(gè)池,一個(gè)用于存儲(chǔ)數(shù)據(jù),一個(gè)用于存儲(chǔ)元數(shù)據(jù)。
[root@node1 ceph_conf]# ceph osd pool create cephfs_data 128
[root@node1 ceph_conf]# ceph osd pool create cephfs_metadata 128
注:128是指,池中有128個(gè)PG(歸置組)
PG的說(shuō)明:http://www.wzxue.com/ceph-osd-and-pg/
7、查看MDS狀態(tài)
[root@node1 ceph_conf]# ceph mds stat
8、創(chuàng)建文件系統(tǒng)
[root@node1 ceph_conf]# ceph fs new myfs1 cephfs_metadata cephfs_data
9、查看文件系統(tǒng)
[root@node1 ceph_conf]# ceph fs ls
10、客戶(hù)端掛載CEPH FS
[root@client ~]# mkdir /mnt/cephfs ceph auth list 查看admin的key
[root@client ~]# mount -t ceph 192.168.4.1:6789:/ /mnt/cephfs/ -o name=admin,secret=AQDaDSpboImwIBAAzX800q+H0BCNq9xq2xQaJA==
[root@client ~]# df -h /mnt/cephfs/
對(duì)象存儲(chǔ)
1、什么是對(duì)象,參見(jiàn):http://storage.ctocio.com.cn/281/12110781.shtml
2、新建虛擬機(jī),用于RGW
node5.tedu.cn 192.168.4.5
需要node1可以免密登陸到node5。Node5也需要ceph的yum源。Node1可以通過(guò)名字訪問(wèn)node5。
3、在node1遠(yuǎn)程為node5安裝RGW
[root@node1 ceph_conf]# ceph-deploy install --rgw node5
4、同步keyring等文件到node5
[root@node1 ceph_conf]# ceph-deploy admin node5
5、啟動(dòng)RGW服務(wù)
[root@node1 ceph_conf]# ceph-deploy rgw create node5
[root@node5 ~]# systemctl status ceph-radosgw@*
6、RGW內(nèi)置了一個(gè)WEB服務(wù)器civetweb。為了用戶(hù)訪問(wèn)方便,將RGW端口改為80(默認(rèn)是7480)
[root@node5 ~]# vim /etc/ceph/ceph.conf 追加以下內(nèi)容
[client.rgw.node5]
host=node5
rgw_frontends="civetweb port=80"
[root@node5 ~]# systemctl restart ceph-radosgw@* 重啟服務(wù)
7、客戶(hù)端驗(yàn)證
[root@client ~]# curl http://192.168.4.5
RGW客戶(hù)端的使用
1、s3是亞馬遜提供的一個(gè)命令行客戶(hù)端
[root@client ~]# rpm -ihv s3cmd-2.0.1-1.el7.noarch.rpm
2、創(chuàng)建用于RGW訪問(wèn)的用戶(hù)
[root@node5 ~]# radosgw-admin user create --uid="testuser" --display-name="First User" 注意以下輸出的信息
"keys": [
{
"user": "testuser",
"access_key": "2OEWOIA7G6GZZ22UI0E4",
"secret_key": "FrOzh7NQC1Ak3C4SXNSaLAEFPy5SyPu9MC02mtdm"
}
],
3、在客戶(hù)端上配置s3
[root@client ~]# s3cmd --configure
Access Key:2OEWOIA7G6GZZ22UI0E4
Secret Key: FrOzh7NQC1Ak3C4SXNSaLAEFPy5SyPu9MC02mtdm
Default Region [US]: 注意直接回車(chē),不要改
S3 Endpoint [s3.amazonaws.com]: 192.168.4.5
DNS-style bucket+hostname:port template for accessing a bucket [%(bucket)s.s3.amazonaws.com]: %(bucket)s.192.168.4.5
When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP, and can only be proxied with Python 2.7 or newer
Use HTTPS protocol [Yes]: No
Test access with supplied credentials? [Y/n] y
Save settings? [y/N] y
配置文件最終保存在了/root/.s3cfg
4、客戶(hù)端配置完成,就可以執(zhí)行上傳、下載、刪除等操作了
[root@client ~]# s3cmd ls 查看
[root@client ~]# s3cmd mb s3://my_bucket 創(chuàng)建一個(gè)容器(文件夾)
[root@client ~]# s3cmd put /var/log/messages s3://my_bucket 上傳文件
[root@client ~]# s3cmd ls s3://my_bucket 查看my_bucket中的內(nèi)容
[root@client ~]# s3cmd get s3://my_bucket/messages /tmp/ 下載
[root@client ~]# s3cmd del s3://my_bucket/messages 刪除
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。