Smartos入門及Triton部署

概述

Smartos是一個(gè)開源的Unix系列操作系統(tǒng),從Solaris10分支出來(lái),由Joyent公司開發(fā)。

Smartos擁有非常強(qiáng)大而簡(jiǎn)便的虛擬化功能,非常適合用來(lái)做云計(jì)算。

而Triton則是Joyent開發(fā)的,基于Smartos系統(tǒng)的一套開源云平臺(tái)管理軟件,可以用來(lái)管理私有云。

Smartos詳細(xì)資料請(qǐng)參考:https://wiki.smartos.org/display/DOC/Home。

Triton詳細(xì)資料請(qǐng)參考:https://docs.joyent.com/private-cloud。

Smartos入門

為了方便理解接下來(lái)的安裝配置過程,先介紹一些Smartos相關(guān)的入門知識(shí)。

Smartos是駐內(nèi)存的操作系統(tǒng)

說(shuō)Smartos是駐內(nèi)存的操作系統(tǒng),是因?yàn)樗旧聿辉诖疟P上保存任何操作系統(tǒng)運(yùn)行相關(guān)的文件,只將配置、虛擬機(jī)等信息持久化到磁盤上。所以每次啟動(dòng)時(shí),整個(gè)系統(tǒng)都會(huì)被全部加載到內(nèi)存中運(yùn)行。而根據(jù)加載源的不同,就有兩種加載方式

1.USB啟動(dòng)。將操作系統(tǒng)寫入到U盤中,并讓服務(wù)器從本地U盤啟動(dòng)。

2.PXE啟動(dòng)。將操作系統(tǒng)放到某個(gè)服務(wù)器中并提供PXE啟動(dòng)服務(wù),其他的服務(wù)器就可以通過網(wǎng)絡(luò)啟動(dòng)了。

因此,操作系統(tǒng)更新時(shí),也從來(lái)不用打任何補(bǔ)丁,直接從最新版的系統(tǒng)重新啟動(dòng)即可。

zfs文件系統(tǒng)

Smartos使用zfs作為本地的文件系統(tǒng),而zfs本身并不是Smartos獨(dú)有的,其他Linux發(fā)行版也可以使用。zfs和其他的文件系統(tǒng)相比有諸多好處,這里就不一一陳述了,但是簡(jiǎn)單的介紹下zfs的結(jié)構(gòu)。

存儲(chǔ)池

zfs首先從物理磁盤開始構(gòu)建存儲(chǔ)池,叫做zpool,服務(wù)器的存儲(chǔ)空間可以由一個(gè)或者多個(gè)zpool組成,每個(gè)zpool都是獨(dú)立的存儲(chǔ)空間。

zpool

disk:操作系統(tǒng)可以直接檢測(cè)到物理磁盤,也可以檢測(cè)到硬件raid虛擬化出來(lái)的磁盤,但是為了充分利用zfs的性能,應(yīng)該將硬件raid設(shè)置成直連(HBA)模式,直接暴露所有物理磁盤。

array:將物理磁盤進(jìn)行任意組合,可以生成一個(gè)或多個(gè)軟件陣列,可以是mirror、raid等模式。一旦陣列生成,組成陣列的磁盤數(shù)量將不允許變更,只能對(duì)成員磁盤進(jìn)行脫離、更換等工作。

zpool:將陣列進(jìn)行任意的組合,可以生成一個(gè)或者多個(gè)zpool,zpool可以添加或者刪除子陣列,zpool的存儲(chǔ)空間就是所有陣列存儲(chǔ)空間的疊加

文件系統(tǒng)

有了zpool存儲(chǔ)空間后,就可以構(gòu)建文件系統(tǒng)了。


zfs文件系統(tǒng)

zfs文件系統(tǒng)以zpool為根,以樹形結(jié)構(gòu)進(jìn)行層級(jí)劃分和管理,但是文件系統(tǒng)的屬性(比如預(yù)留空間、權(quán)限、配額)可以有繼承和依賴關(guān)系。

zfs文件系統(tǒng)和虛擬機(jī)里面的文件系統(tǒng)很像似,但是不一樣,zfs文件系統(tǒng)的節(jié)點(diǎn)是一個(gè)設(shè)備,需要掛載到虛擬機(jī)文件系統(tǒng)的一個(gè)目錄樹節(jié)點(diǎn)上,而虛擬機(jī)文件系統(tǒng)中的節(jié)點(diǎn)就是目錄或者文件。最簡(jiǎn)潔的判別方法就是zfs文件系統(tǒng)不以/開頭。

Smartos網(wǎng)絡(luò)層次

Smartos作為虛擬化操作系統(tǒng),必然要實(shí)現(xiàn)網(wǎng)絡(luò)硬件的虛擬化,虛擬化的技術(shù)叫做Crossbow,這里只簡(jiǎn)單的介紹一下。


smartos網(wǎng)絡(luò)層次

physical nic:一臺(tái)物理機(jī)上可以插多張物理網(wǎng)卡,每個(gè)網(wǎng)卡上可以有多個(gè)物理網(wǎng)口,每個(gè)物理網(wǎng)口都有一個(gè)全宇宙唯一的mac地址。

aggregation:聚合網(wǎng)口由多個(gè)物理網(wǎng)口聚合而成,一個(gè)物理網(wǎng)口只能加入一個(gè)聚合網(wǎng)口或者不聚合,聚合網(wǎng)口通過一個(gè)名稱來(lái)進(jìn)行標(biāo)識(shí),物理網(wǎng)口直接用mac進(jìn)行標(biāo)識(shí)。

virtual switch:虛擬交換機(jī)的名稱在Smartos里叫做nic tag,每個(gè)虛擬交換機(jī)能且只能配置一個(gè)聚合網(wǎng)口或者物理網(wǎng)口,一個(gè)聚合網(wǎng)口或者物理網(wǎng)口可以屬于任意多個(gè)虛擬交換機(jī)。

global zone和vm:global zone就是物理機(jī)的根操作系統(tǒng),但是應(yīng)該理解成一個(gè)特殊的虛擬機(jī)。虛擬機(jī)通過給每個(gè)虛擬網(wǎng)卡指定nic tag來(lái)接入虛擬交換機(jī),每臺(tái)虛擬機(jī)都必須指定一個(gè)主要網(wǎng)卡作為默認(rèn)路由。

硬件需求

Smartos和Triton的運(yùn)行對(duì)硬件有些需求,并不適用任意硬件,不過也沒有太多苛刻的地方,這里簡(jiǎn)單概括下:

Smartos:

1.64-bit x86架構(gòu),推薦Intel的CPU,開啟VT-x功能支持kvm虛擬化。

2.能夠USB啟動(dòng)以及能夠PXE啟動(dòng),第一臺(tái)機(jī)器只可能USB啟動(dòng),之后的機(jī)器可以PXE啟動(dòng)。

3.只支持本地存儲(chǔ),盡量避免使用硬件RAID,將RAID控制器設(shè)置成HBA直連模式。因?yàn)橐褂脄fs文件系統(tǒng)。

4.推薦Intel的網(wǎng)卡,至少兩塊網(wǎng)卡。

Triton:

1.由于Triton是安裝在主節(jié)點(diǎn)(head node)上并控制從節(jié)點(diǎn)(compute node)的,所以需要至少兩臺(tái)服務(wù)器,推薦三臺(tái)。Triton不會(huì)允許用戶在head node上創(chuàng)建虛機(jī),同時(shí)要求主從節(jié)點(diǎn)的硬件配置是一樣的。

2.64G內(nèi)存以上。因?yàn)閔ead node要運(yùn)行很多服務(wù)。

3.至少三塊同樣大小的磁盤,有1T實(shí)際可用空間,推薦奇數(shù)塊磁盤,推薦保持內(nèi)存磁盤比為1:20。

詳細(xì)請(qǐng)參考:https://docs.joyent.com/private-cloud/install/hardware-selection。

硬件參考:

我們主要是拿來(lái)做開發(fā)測(cè)試機(jī),不需要特別好的性能,所以選擇了戴爾R730,質(zhì)量比較好。

CPU是E5-2630V4*2,遵循推薦。

內(nèi)存16G*8,夠用。

硬盤1T*4,SAS盤7200轉(zhuǎn),3.5寸的損壞率比2.5寸的小。

板載千兆網(wǎng)口沒什么好說(shuō)。一塊Intel的X520雙口萬(wàn)兆網(wǎng)卡,遵循推薦。

啟動(dòng)

先從網(wǎng)上下操作系統(tǒng),由于Triton是集成到Smartos里面一并安裝的,所以不需要先下Smartos系統(tǒng),直接裝Triton就行了。注意:Joyent一再?gòu)?qiáng)調(diào)付費(fèi)用戶必須找他們要,雖然和免費(fèi)版沒什么區(qū)別。

curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartDataCenter/usb-latest.tgz

然后懟到U盤里去就行了,mac很方便,注意別填錯(cuò)磁盤號(hào),還要確保U盤有至少8G空間。使用其他操作系統(tǒng)的同學(xué)就參考官方文檔吧:https://docs.joyent.com/private-cloud/install/installation-media。

diskutil list

sudo diskutil umountDisk /dev/disk2

tar -xvzf usb-lastest.tgz

sudo dd if=usb-release-20170302-20170303T225707Z-gc64b017-4gb.img of=/dev/rdisk2 bs=1m

sudo diskutil eject /dev/disk2

然后把U盤插到服務(wù)器上,按照上述需求配置好BIOS,啟動(dòng)。

安裝head node在進(jìn)入GRUB時(shí)選擇Live 64,然后根據(jù)提示安裝即可。

Triton head node網(wǎng)絡(luò)配置

Triton head node的安裝過程中,網(wǎng)絡(luò)配置是最復(fù)雜的。

基于Smartos的網(wǎng)絡(luò)層次,Triton對(duì)網(wǎng)絡(luò)有一些定制化的需求,配置中提到了三個(gè)網(wǎng)絡(luò),這里的網(wǎng)絡(luò)指虛擬交換機(jī)以及連入虛擬交換機(jī)的虛擬網(wǎng)卡

1.admin。這個(gè)網(wǎng)絡(luò)本身就是Smartos的默認(rèn)網(wǎng)絡(luò),Smartos要求這個(gè)網(wǎng)絡(luò)不能打vlan標(biāo),而且不能和其他網(wǎng)絡(luò)共享(物理或聚合網(wǎng)口獨(dú)享)。Triton用它來(lái)做內(nèi)部管理,所有核心服務(wù)都會(huì)在這個(gè)網(wǎng)絡(luò)上,并且加了一個(gè)額外限制,不能連接外網(wǎng)。此外需要預(yù)留18個(gè)ip地址給Triton用。

2.external。這是一個(gè)常用網(wǎng)絡(luò)名稱,Triton將它定義成有外網(wǎng)訪問的網(wǎng)絡(luò),并且可以被共享。此外需要預(yù)留6個(gè)地址給Triton用。

3.underlay。高級(jí)服務(wù)用的,暫時(shí)忽略。總之不能連接外網(wǎng),而且要MTU9000,可以共享。

至于說(shuō)防火墻,總結(jié)來(lái)說(shuō)就是不要亂墻。

由于head node安裝時(shí)就需要去網(wǎng)上下一些服務(wù)的鏡像,所以請(qǐng)確保external網(wǎng)絡(luò)是連通外網(wǎng)的。

此外,Triton暫不支持以交互方式配置鏈路聚合,需要手動(dòng)修改最終的配置文件,詳細(xì)資料請(qǐng)看:https://docs.joyent.com/private-cloud/install/headnode-installation。

注意head node會(huì)被自動(dòng)將域名設(shè)置成headnode,這個(gè)是不能修改的。

交換機(jī)配置

根據(jù)Triton的網(wǎng)絡(luò)要求,理想情況下的網(wǎng)絡(luò)拓?fù)鋺?yīng)該是這樣的。讀者需要先自學(xué)一下交換機(jī)的access口和trunk口的區(qū)別。

1.為admin網(wǎng)絡(luò)準(zhǔn)備一個(gè)千兆交換機(jī),因?yàn)橹挥幸恍┗A(chǔ)服務(wù)需要這個(gè)網(wǎng)絡(luò),所以一個(gè)子網(wǎng)就足夠了,端口可以都配置成access vlan 1。由于不需要外網(wǎng),可以不連上行口

2.為external網(wǎng)絡(luò)準(zhǔn)備一個(gè)萬(wàn)兆交換機(jī),一方面可以和fabric網(wǎng)絡(luò)復(fù)用,另一方面也可以測(cè)試萬(wàn)兆的性能。注意這些網(wǎng)絡(luò)都是復(fù)用同一個(gè)物理網(wǎng)口的。而每個(gè)物理網(wǎng)口可能會(huì)出各種子網(wǎng)和vlan的包,畢竟所有流量都要從這個(gè)交換機(jī)出去,所以每個(gè)物理口都配置成trunk pvid 1 permit all的模式,然后把ip都放在vlan口上作為網(wǎng)關(guān)。最后給上行物理口一個(gè)ip,并且把默認(rèn)路由指到路由器上和上行口直接連接的端口的ip就行了(注意這兩個(gè)ip一定要在一個(gè)子網(wǎng),不然是不通的)。

3.由于大多數(shù)機(jī)器還有一個(gè)ipmi口用來(lái)做控制的,一般這個(gè)口也是千兆的,轉(zhuǎn)接到萬(wàn)兆上沒有必要,所以也可以接在千兆上,選一個(gè)與admin網(wǎng)絡(luò)不同的子網(wǎng)和vlan,把端口配置成access,然后給vlan配置一個(gè)子網(wǎng)內(nèi)的ip作為網(wǎng)關(guān),再仿照萬(wàn)兆連出去就行了。由于沒有給admin那些口配置網(wǎng)關(guān),所以它們?nèi)匀皇窃L問不了外網(wǎng)的。

安裝Compute node

先在head node上把a(bǔ)dminui(用戶界面)和imgapi服務(wù)連通外網(wǎng)(配置一個(gè)在external網(wǎng)絡(luò)中的虛擬網(wǎng)卡)比較好。然后把cloudapi服務(wù)也順手裝了。

sdcadm post-setup common-external-nics

sdcadm post-setup cloudapi

安裝compute node和安裝head node要使用同一個(gè)系統(tǒng)制作的U盤,只是進(jìn)入GRUB時(shí)選項(xiàng)不一樣,這次選擇compute node。

實(shí)際上他們啟動(dòng)的方式也不一樣,head node是直接從U盤讀取系統(tǒng)的,而compute node是使用head node里面安裝好的PXE服務(wù)通過iPXE啟動(dòng)的,所以compute node直接從板載PXE啟動(dòng)而不使用U盤也可以。只是官方對(duì)iPXE有特殊修改,所以推薦每臺(tái)服務(wù)器都配備一個(gè)時(shí)刻插著的U盤。

compute node的配置都是由head node統(tǒng)一管理的,所以安裝時(shí)不用配置任何東西,但是進(jìn)入登錄界面后,需要在head node上進(jìn)行初始化,這時(shí)候裝了用戶界面就爽了,點(diǎn)點(diǎn)就行,否則要用命令行。

sdc-server setup -s?715020ea-11e1-11e4-bb8a-002590e4edcc "hostname=node1"

uuid是新的compute node的uuid,hostname默認(rèn)是admin的網(wǎng)卡mac,還是修改一下比較愉快不然以后不知道是哪臺(tái),不過修改域名只有一次機(jī)會(huì),別亂來(lái)。

結(jié)尾

現(xiàn)在就可以開心的通過用戶界面來(lái)操作這幾臺(tái)服務(wù)器了,云平臺(tái)的功能這里就不介紹了。

值得一提的是,nic tag在每臺(tái)服務(wù)器上都是單獨(dú)的,千萬(wàn)記住給每個(gè)compute node都配置好external網(wǎng)絡(luò),不然在這個(gè)網(wǎng)絡(luò)中生成虛機(jī)時(shí)會(huì)找不到符合條件的compute node。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,208評(píng)論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,477評(píng)論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,960評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,200評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,726評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,617評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,807評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,049評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評(píng)論 1 281
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,432評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,769評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容