玩轉對象存儲之將OOS掛載到vsphere存儲池使用

    在天翼雲上申請了OOS,通過在本地vsphere虛擬化集羣中一臺VM上安裝部署對象存儲網關軟件+NFS服務器,最終實現把天翼雲上的OOS掛載進vsphere6.7集羣的存儲資源池。

一、組網拓撲

 

 

二、實現主要思路

1)、爲什麼這麼玩?

     爲了實現將對象存儲當成本地硬盤的效果,我嘗試了很多方法,最後成功的只有一種,先介紹我失敗的方法:

1、通過S3FS將對象存儲掛載到VM的目錄上,然後通過NFS將目錄掛載共享,此時NFS客戶端加載沒有問題,但是向共享目錄保存文件時大量出錯,失敗;

2、直接通過S3FS將對象存儲掛載到本地目錄,考慮分片與斷點續傳以及本地緩存,做了大量根據s3fs的調優,結果還是失敗,給出我的調優後命令:

s3fs -o allow_other nfs2oos /home/oos/nfs2oos -o url=http://oos-hbwh.ctyunapi.cn/ -o use_cache=/oostmp -o parallel_count=10 -o stat_cache_expire=3600 -o max_stat_cache_size=100000 -o connect_timeout=30 -o readwrite_timeout=40 -o nomultipart

3、VM上安裝雲存儲網關程序,通過雲存儲網關程序配置將oos桶映射爲iSCSI的lun,在vsphere上通過iSCSI方法直接添加失敗,此時vsphere可以找到雲存儲網關的啓動器,但是無法找到lun資源;

2)、成功的主要思路

1、雲上操作:在雲上申請oos服務,創建bucket,記錄好訪問控制的ak與sk信息,記錄好endpoint信息;

2、本地vsphere上安裝一個centos7的vm,在centos7上部署安裝雲存儲網關軟件;

3、通過雲存儲網關初始化網關及創建lun;

4、在雲存儲網關同一臺vm安裝配置nfs服務器軟件,如果內網已經有nfs服務器則在nfs服務器上安裝 iscsi-initiator-utils軟件;

5、nfs上通過iscsiadm 找到並登陸iSCSI;

6、格式化iSCSI磁盤並將磁盤掛載到本地數據目錄;

7、將iSCSI掛載的本地數據目錄通過nfs以讀寫方式掛載成nfs服務;

8、在vsphere集羣中新建存儲以nfs3.0的形式找到nfs資源,掛載成功;

三、實現步驟

1、雲上操作

第一步創建bucket容器

這一步是通過雲存儲網關在vm上創建的,無需在雲側手工操作,放在這裏是因爲統一雲側信息展示;

2、本地vm上安裝部署雲存儲網關軟件並初始化網關

因爲雲存儲網關軟件需要java環境,所以需要vm上安裝java1.8運行環境

 wget https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.tar.gz

tar -xvf jdk-8u202-linux-x64.tar.gz -C /opt/java/

vi /etc/profile

export PATH=${PATH}:/opt/java/jdk1.8.0_202/bin

驗證java

java -version

設置本地時間,檢查時鐘同步

timedatectl set-timezone Asia/Shanghai

timedatectl status

操作系統防火牆添加iSCSI端口

firewall-cmd --permanent --add-port=3260/tcp && firewall-cmd --reload

雲存儲網關安裝部分

unzip CTYUN_OOS_Gateway_version.zip 

cd /home/oos/CTYUN_OOS_Gateway_1.4.6

chmod a+x OOS_Gateway 

./OOS_Gateway setup --初始化

./OOS_Gateway create-lun --創建卷

雲存儲網關管理部分

停止網關  ./OOS_Gateway stop

解壓縮新版本  unzip CTYUN_OOS_Gateway_xx.zip

cd 解壓縮目錄 chmod a+x OOS_Gateway

升級 ./OOS_Gateway upgrade 

3、iSCSI客戶端部分

yum -y install iscsi-initiator-utils -y

iscsiadm -m discovery -t st -p 10.37.10.3

iscsiadm -m node -T iqn.2012-08.cn.ctyunapi.oos:iscsi2oos.xfvip-oos-lun-01 -p 10.37.10.3 -l

iscsiadm -m node

iscsiadm -m session

本地掛載

parted -s /dev/sdc mklabel gpt mkpart primary 0% 100%

格式化掛載磁盤

mkfs.xfs /dev/sdc 

掛載磁盤

mount /home/oos/nfs2oos /dev/sdc1

顯示本地掛載

lsblk

4、nfs服務器安裝配置部分

 yum install nfs-utils rpcbind -y
 systemctl enable nfs-server
 systemctl enable rpcbind
 systemctl enable nfs-lock
 systemctl enable nfs-idmap
 systemctl start rpcbind
 systemctl start nfs-server
 systemctl start nfs-lock
 systemctl start nfs-idmap

防火牆部分

firewall-cmd --zone=public --permanent --add-service={rpc-bind,mountd,nfs}
firewall-cmd --reload
firewall-cmd --list-all

定義nfs共享目錄

vi  /etc/exports
/home/oos/nfs2oos *(rw,fsid=1,sync,no_root_squash,no_all_squash)

服務加載

exportfs -rv

5、vsphere集羣存儲掛載

 

通過服務器側showmount -a顯示vsphere掛載情況 

 

添加成功後,將一臺虛擬機通過存儲遷移至oos存儲盤,運行效果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章