自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用ubuntu快速部署ceph集群

開發(fā) 開發(fā)工具
本文主要根據(jù)官方文檔使用ubuntu14.04部署ceph集群,并且簡(jiǎn)單介紹其基本操作。

 [[186140]]

一、安裝環(huán)境

本文主要根據(jù)官方文檔使用ubuntu14.04部署ceph集群,并且簡(jiǎn)單介紹其基本操作。整個(gè)集群包括一個(gè)admin節(jié)點(diǎn)(admin node,主機(jī)名為node0)和3個(gè)存儲(chǔ)節(jié)點(diǎn)(主機(jī)名分別為node1,node2,node3),所有節(jié)點(diǎn)均安裝了ubuntu 14.04操作系統(tǒng),除了admin節(jié)點(diǎn),其余三個(gè)節(jié)點(diǎn)除了根磁盤,還額外配置一個(gè)磁盤作為單獨(dú)的osd:

  1. lsblk 

輸出結(jié)果:

  1. NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
  2. sr0     11:0    1   422K  0 rom 
  3. vda    253:0    0    20G  0 disk 
  4. ├─vda1 253:1    0    19G  0 part / 
  5. ├─vda2 253:2    0     1K  0 part 
  6. └─vda5 253:5    0  1022M  0 part [SWAP] 
  7. vdb    253:16   0    50G  0 disk 

由于使用ustack公有云申請(qǐng)的云主機(jī),因此磁盤是虛擬的,根磁盤為vda,第二塊磁盤為vdb。 所有主機(jī)在192.168.0.0/24這個(gè)網(wǎng)絡(luò),ip為:

  1. 192.168.0.2     node0 
  2. 192.168.0.5     node1 
  3. 192.168.0.7     node2 
  4. 192.168.0.6     node3 

我們先設(shè)置一個(gè)mon節(jié)點(diǎn),兩個(gè)osd節(jié)點(diǎn),后續(xù)我們?cè)僭黾庸?jié)點(diǎn),其架構(gòu)如圖所示:

其中node1作為mon節(jié)點(diǎn),其余node2,node3作為osd節(jié)點(diǎn)。

注意:后續(xù)操作均使用root賬號(hào),如果不使用root賬號(hào)登錄,需要?jiǎng)?chuàng)建一個(gè)新的賬號(hào),該賬號(hào)必須具有免密碼sudo權(quán)限,否則后續(xù)使用ceph-deploy時(shí)會(huì)失敗!

二、安裝前工作

1.設(shè)置admin節(jié)點(diǎn)root免密碼登錄其他節(jié)點(diǎn)

首先使用ssh-keygen生成密鑰,位于~/.ssh/id_rsa.pub,拷貝id_rsa.pub文件到所有節(jié)點(diǎn)中,若沒有設(shè)置root密碼,可以先拷貝到管理員賬號(hào)(安裝操作系統(tǒng)時(shí)使用的用戶,具有sudo權(quán)限)home目錄,然后使用管理員賬號(hào)操作:

  1. cat id_rsa.pub | sudo tee -a /root/.ssh/authorized_keys 

在node0節(jié)點(diǎn)分別測(cè)試,是否可以免密碼登錄其他節(jié)點(diǎn):

  1. ssh node0 uptime 
  2. ssh node1 uptime 
  3. ssh node2 uptime 
  4. ssh node3 uptime 

結(jié)果應(yīng)該不需要輸入密碼。

2.安裝并行ssh命令

在admin節(jié)點(diǎn)安裝pssh包:

  1. apt-get install -y pssh 

設(shè)置以下別名:

  1. alias pssh='parallel-ssh' 
  2. alias pscp='parallel-scp' 

創(chuàng)建host文件列表hosts.txt:

  1. node0 
  2. node1 
  3. node2 
  4. node3 

測(cè)試下pssh是否工作:

  1. pssh -h hosts.txt uptime 

如果全部結(jié)果都為SUCCESS,則說明正常工作。

3.使用國(guó)內(nèi)鏡像源

為了提高訪問速度,建議修改為國(guó)內(nèi)鏡像源,我們使用的是阿里云鏡像源:

  1. root@node0:~# cat /etc/apt/sources.list 
  2. deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
  3. deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
  4. deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
  5. deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
  6. deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 
  7. deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
  8. deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
  9. deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
  10. deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
  11. deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 

拷貝該文件到所有的節(jié)點(diǎn):

  1. pscp -h ~/hosts.txt /etc/apt/sources.list /etc/apt/ 

更新源:

  1. pssh -h ~/hosts.txt 'apt-get update -y' 

4.安裝ceph-deploy

以下操作只需要在admin節(jié)點(diǎn)執(zhí)行,首先需要增加ceph源:

  1. wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add - 
  2. echo deb http://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list 
  3. # 注意: ceph-stable-release是選擇安裝的版本,我部署時(shí)選擇的是jewel! 

# 注意: ceph-stable-release是選擇安裝的版本,我部署時(shí)選擇的是jewel!

安裝ceph-deploy:

  1. sudo apt-get update && sudo apt-get install ceph-deploy 

生產(chǎn)環(huán)境還需要安裝ntp服務(wù),保證集群的時(shí)鐘一致,這次只是為了測(cè)試,故省略這一步。另外由于ubuntu默認(rèn)防火墻是關(guān)的,SELinux也沒有安裝,故不需要任何操作。使用centos安裝時(shí)需要打開必要端口。

三、開始安裝ceph集群

我們使用ceph-deploy部署,后續(xù)操作均在admin節(jié)點(diǎn)操作。 首先需要?jiǎng)?chuàng)建工作環(huán)境,該環(huán)境會(huì)保存所有的配置文件:

  1. mkdir my-cluster 
  2. cd my-cluster 

接下分別執(zhí)行以下步驟:

1.創(chuàng)建集群

  1. ceph-deploy new node1 

其中node1是mon節(jié)點(diǎn),執(zhí)行該命令會(huì)生成ceph配置文件、monitor密鑰文件以及日志文件。

2.修改默認(rèn)冗余份數(shù)

由于我們目前只有兩個(gè)osd節(jié)點(diǎn),而默認(rèn)的冗余份數(shù)是3,因此我們需要設(shè)置為2,如果osd節(jié)點(diǎn)大于2,則此步驟省略。

修改ceph.conf文件,在[global]下增加以下內(nèi)容:

  1. osd pool default size = 2 

3.配置網(wǎng)卡和網(wǎng)絡(luò)

如果主機(jī)有多余一個(gè)網(wǎng)卡,需要設(shè)置使用的網(wǎng)卡和網(wǎng)絡(luò)地址,由于我們主機(jī)只有一張網(wǎng)卡,此步驟省略。

4.開始安裝ceph

  1. ceph-deploy install node0 node1 node2 node3 

5.初始化mon節(jié)點(diǎn)和收集密鑰信息

  1. ceph-deploy mon create-initial 

執(zhí)行完畢,目錄應(yīng)該有以下文件:

  1. {cluster-name}.client.admin.keyring 
  2. {cluster-name}.bootstrap-osd.keyring 
  3. {cluster-name}.bootstrap-mds.keyring 
  4. {cluster-name}.bootstrap-rgw.keyring 

完成以上步驟,安裝完成,但還沒有配置osd節(jié)點(diǎn)。

6.配置osd節(jié)點(diǎn)

首先格式化磁盤,注意我們使用的是/dev/vdb:

  1. ceph-deploy disk zap node2:vdb 
  2. ceph-deploy disk zap node3:vdb 

以上步驟會(huì)清空磁盤的所有數(shù)據(jù)。 接下來創(chuàng)建osd,注意由于我們只是測(cè)試,故沒有使用單獨(dú)的磁盤作為journal,實(shí)際在生產(chǎn)環(huán)境下,需要配備SSD分區(qū)作為journal,能夠***化IO吞吐量。

  1. ceph-deploy osd create node2:vdb 
  2. ceph-deploy osd create node3:vdb 

7.配置admin節(jié)點(diǎn)

admin節(jié)點(diǎn)同時(shí)也作為我們的client節(jié)點(diǎn),需要拷貝其他節(jié)點(diǎn)的配置文件以及密鑰,使得不需要指定mon地址以及用戶信息就可以直接管理我們的ceph集群,執(zhí)行以下命令即可:

  1. ceph-deploy admin node0 node1 node2 node3 
  2. sudo chmod +r /etc/ceph/ceph.client.admin.keyring # 保證具有讀取的密鑰的權(quán)限 

8.測(cè)試結(jié)果運(yùn)行以下命令:

  1. ceph health 

結(jié)果若返回active + clean狀態(tài),則說明部署成功!

四、擴(kuò)展節(jié)點(diǎn)

增加node1也作為osd節(jié)點(diǎn):

  1. ceph-deploy disk zap node1:vdb 
  2. ceph-deploy osd create node1:vdb 
  3. ceph-deploy osd create node1:vdb 

若需要cephFS支持,即需要提供文件系統(tǒng)支持,需要部署metadata server:

  1. ceph-deploy mds create node1 

若需要Ceph Object Gateway支持,即對(duì)象存儲(chǔ)節(jié)點(diǎn),需要部署一個(gè)RGW實(shí)例,

  1. ceph-deploy rgw create node1 

ceph集群至少需要一個(gè)mon節(jié)點(diǎn),為了實(shí)現(xiàn)高可用,通常需要設(shè)置多個(gè)(一般設(shè)置為3個(gè))mon節(jié)點(diǎn),我們把node2,node3也作為mon節(jié)點(diǎn):

  1. ceph-deploy mon add node2 node3 

當(dāng)有多個(gè)mon節(jié)點(diǎn)時(shí),ceph將使用quorum算法進(jìn)行同步,查看狀態(tài):

  1. ceph quorum_status --format json-pretty 

五、塊存儲(chǔ)rbd使用

我們使用默認(rèn)的rbd池,首先創(chuàng)建一個(gè)新的塊設(shè)備(cinder稱為volume,ceph稱為image):

  1. rbd create foo --size 4096 

查看剛剛創(chuàng)建的實(shí)例:

  1. rbd ls 
  2. # foo 

映射實(shí)例到虛擬設(shè)備中:

  1. rbd map foo 
  2. # /dev/rbd1 

創(chuàng)建文件系統(tǒng)并掛載到/mnt:

  1. mkfs.ext4 /dev/rbd1 
  2. mount /dev/rbd1 /mnt 
  3. df -h 
  4. Filesystem     1K-blocks    Used Available Use% Mounted on 
  5. udev             1014072      12   1014060   1% /dev 
  6. tmpfs             204988     808    204180   1% /run 
  7. /dev/vda1       19478204 1936088  16529636  11% / 
  8. none                   4       0         4   0% /sys/fs/cgroup 
  9. none                5120       0      5120   0% /run/lock 
  10. none             1024932       0   1024932   0% /run/shm 
  11. none              102400       0    102400   0% /run/user 
  12. /dev/rbd1        3997376    8184   3763096   1% /mnt 

把實(shí)例擴(kuò)容到8GB:

  1. rbd resize foo --size 8192 
  2. resize2fs /dev/rbd1 
  3. df -h 
  4. Filesystem      Size  Used Avail Use% Mounted on 
  5. udev            991M   12K  991M   1% /dev 
  6. tmpfs           201M  808K  200M   1% /run 
  7. /dev/vda1        19G  1.9G   16G  11% / 
  8. none            4.0K     0  4.0K   0% /sys/fs/cgroup 
  9. none            5.0M     0  5.0M   0% /run/lock 
  10. none           1001M     0 1001M   0% /run/shm 
  11. none            100M     0  100M   0% /run/user 
  12. /dev/rbd1       7.8G  9.0M  7.4G   1% /mnt 

創(chuàng)建實(shí)例快照:

  1. rbd snap create test@test-snap 

六、分布式文件系統(tǒng)使用

創(chuàng)建一個(gè)文件系統(tǒng):

  1. ceph osd pool create cephfs_data 128 
  2. ceph osd pool create cephfs_metadata 128 
  3. ceph fs new test_fs cephfs_metadata cephfs_data 
  4. ceph fs ls 
  5. name: test_fs, metadata pool: cephfs_metadata, data pools: [cephfs_data ] 

創(chuàng)建secret文件:

  1. cat ceph.client.admin.keyring 

輸出結(jié)果:

  1. [client.admin] 
  2.    key = AQCj2YpRiAe6CxAA7/ETt7Hcl9IyxyYciVs47w== 

把key值拷貝到secret文件:

  1. echo "AQCj2YpRiAe6CxAA7/ETt7Hcl9IyxyYciVs47w==" >admin.secret 

安裝mount ceph插件:

  1. apt-get install ceph-fs-common 

掛載到本地文件系統(tǒng)/mnt:

  1. sudo mount -t ceph 192.168.0.5:6789:/ /mnt -o name=admin,secretfile=admin.secret 

其中192.168.0.5是node1 ip,也即mon節(jié)點(diǎn)ip地址。

運(yùn)行df命令查看是否掛載成功,成功即可像本地文件系統(tǒng)一樣操作。

七、對(duì)象存儲(chǔ)省略。。。

【本文是51CTO專欄作者“付廣平”的原創(chuàng)文章,如需轉(zhuǎn)載請(qǐng)通過51CTO獲得聯(lián)系】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2021-01-15 08:07:30

Ceph octopu集群運(yùn)維

2017-02-22 10:06:11

UbuntuCeph存儲(chǔ)

2021-01-26 06:58:03

AnsibleCeph集群運(yùn)維

2021-08-10 07:27:42

Elasticsear集群開源

2021-01-18 09:08:44

樹莓派Ceph開源

2024-10-28 15:40:26

2021-07-20 08:00:00

集群Elasticsear工具

2015-06-04 10:59:25

CephIaaSRGW

2015-08-03 16:15:53

Docker部署集群

2022-08-21 16:50:36

Kubeadm?Kubernetes

2016-10-18 13:42:17

UbuntuGNOME Sushi預(yù)覽

2023-09-26 07:34:24

Docker部署依賴包

2017-11-13 18:49:58

華為

2021-12-03 11:06:01

VeleroKubernetesLinux

2015-06-16 16:20:40

2021-11-02 06:58:53

項(xiàng)目Ceph 內(nèi)網(wǎng)

2014-06-30 09:27:17

UbuntuTomcat集群

2020-08-25 07:48:17

Kubernetes集群系統(tǒng)

2021-06-24 08:00:00

開發(fā)Hugo工具

2024-07-22 15:49:07

KubernetesRedis
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)