1. 程式人生 > >在無外網環境下安裝Ceph(Debian/Ubuntu環境適用)

在無外網環境下安裝Ceph(Debian/Ubuntu環境適用)

問題

無網路環境下就無法訪問擁有Ceph相關包的源,也即無法直接通過apt-get install ceph這種方式安裝Ceph包,那這種場景下該怎麼安裝Ceph呢?

解決思路

在該無網路的Ceph機器上搭建Ceph本地源

解決步驟

編譯Ceph包

可依據http://www.cnblogs.com/yanghc/p/5777401.html 文章中的第一步,編譯Ceph相關包。

注意: 編包的機器應該能訪問外網,並且主機環境最好與實際的無外網的需要安裝Ceph的環境一致。避免之後軟體依賴出現問題

在無外網的機器上搭建本地源

把上面編譯得到的所有Ceph deb包拷貝到該無外網的機器。然後依據http://www.cnblogs.com/yanghc/p/5777401.html 文章中的第二步,製作本地源。

找出還缺少的deb包

此時apt-get install ceph還是沒法安裝成功的,因為還缺少一系列的基礎軟體包。所以需要獲取安裝Ceph的所有依賴,可通過如下命令獲得安裝ceph需要的所有依賴包,包括遞迴依賴:

apt-cache depends --recurse--no-recommends
--no-suggests --no-conflicts --no-breaks
--no-replaces--no-enhances --no-pre-depends
<your-package-here> | grep "^\w"| sort -u

此時,會得到一系列需要的deb軟體包的名稱

下載得到所有缺少的deb包

在之前編包的機器上建立一個檔案ceph_need,然後把3.3步所得到的所有軟體包的名字拷貝到改檔案(去掉ceph相關的軟體包名字,比如ceph-common,librbd,librados等),然後通過如下命令下載得到所有的deb軟體包:

apt-get download $(cat ceph_need)

更新無外網機器上之前搭建的本地源

把3.4步下載得到的所有deb軟體包拷貝到該無外網機器的/home/ceph-hammer/pools目錄下,然後重新執行http://www.cnblogs.com/yanghc/p/5777401.html文章中的步驟2.4,2.5,2.6,即可更新本地源。

安裝ceph

apt-get update

apt-get install ceph