openstack swift All In One安裝

操作系統(tǒng):Ubuntu 14.04.3 LTS

  1. 安裝依賴
sudo apt-get update
sudo apt-get install curl gcc memcached rsync sqlite3 xfsprogs \
                     git-core libffi-dev python-setuptools \
                     liberasurecode-dev
sudo apt-get install python-coverage python-dev python-nose \
                     python-xattr python-eventlet \
                     python-greenlet python-pastedeploy \
                     python-netifaces python-pip python-dnspython \
                     python-mock
  1. 為存儲創(chuàng)建分區(qū)
    使用loopback設(shè)備作為存儲
sudo mkdir /srv
sudo truncate -s 1GB /srv/swift-disk
sudo mkfs.xfs /srv/swift-disk

編輯分區(qū)表/etc/fstab,添加如下一行

/srv/swift-disk /mnt/sdb1 xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0
  1. 創(chuàng)建掛在點和獨立的連接
sudo mkdir /mnt/sdb1
sudo mount /mnt/sdb1
sudo mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4
sudo chown ${USER}:${USER} /mnt/sdb1/*
for x in {1..4}; do sudo ln -s /mnt/sdb1/$x /srv/$x; done
sudo mkdir -p /srv/1/node/sdb1 /srv/1/node/sdb5 \
              /srv/2/node/sdb2 /srv/2/node/sdb6 \
              /srv/3/node/sdb3 /srv/3/node/sdb7 \
              /srv/4/node/sdb4 /srv/4/node/sdb8 \
              /var/run/swift
sudo chown -R ${USER}:${USER} /var/run/swift
# **Make sure to include the trailing slash after /srv/$x/**
for x in {1..4}; do sudo chown -R ${USER}:${USER} /srv/$x/; done
  1. 添加一下幾行到/etc/rc.local中去
mkdir -p /var/cache/swift /var/cache/swift2 /var/cache/swift3 /var/cache/swift4
chown <your-user-name>:<your-group-name> /var/cache/swift*
mkdir -p /var/run/swift
chown <your-user-name>:<your-group-name> /var/run/swift
  1. 獲取代碼

    1. 下載python-swiftclient 代碼
    cd $HOME; git clone https://github.com/openstack/python-swiftclient.git
    
    1. 編譯并安裝python-swiftclient
    cd $HOME/python-swiftclient; sudo python setup.py develop; cd -
    
    1. 下載swift的代碼
    git clone https://github.com/openstack/swift.git
    
    1. 編譯并安裝swift
    cd $HOME/swift; sudo pip install -r requirements.txt; sudo python setup.py develop; cd -
    
    1. 安裝swift測試相關(guān)的依賴
    cd $HOME/swift; sudo pip install -r test-requirements.txt
    
  2. 安裝rsync

    1. 創(chuàng)建/etc/rsyncd.conf
    sudo cp $HOME/swift/doc/saio/rsyncd.conf /etc/
    sudo sed -i "s/<your-user-name>/${USER}/" /etc/rsyncd.conf
    
    1. 修改/etc/default/rsync中的下面一行
    RSYNC_ENABLE=true
    
    1. 在系統(tǒng)的SELinuxEnforcing模式下執(zhí)行下面兩個命令中的一個
    sudo setenforce Permissive
    

    僅僅允許rsyncfull權(quán)限

    sudo setsebool -P rsync_full_access 1
    
    1. 啟動rsync
    sudo service rsync restart
    
    1. 驗證rsync是不是接受了所有的連接
    rsync rsync://pub@localhost/
    

    執(zhí)行上述命令模燥,應(yīng)該會看到

    account6012
    account6022
    account6032
    account6042
    container6011
    container6021
    container6031
    container6041
    object6010
    object6020
    object6030
    object6040
    
  3. 啟動memcached

sudo service memcached start
sudo chkconfig memcached on

8.(可選)為獨立的日志,啟動rsyslog
a. 安裝swift rsyslogd的配置
shell sudo cp $HOME/swift/doc/saio/rsyslog.d/10-swift.conf /etc/rsyslog.d/
b. 編輯/etc/rsyslog.conf中的下述配置

```shell
$PrivDropToGroup adm
```

c. 如果使用的是hourly logs,則執(zhí)行下面的

```shell
sudo mkdir -p /var/log/swift/hourly
```
    否則執(zhí)行

```shell
sudo mkdir -p /var/log/swift
```

d. 創(chuàng)建日志目錄,啟動syslog
shell sudo chown -R syslog.adm /var/log/swift sudo chmod -R g+w /var/log/swift sudo service rsyslog restart

  • 配置每一個節(jié)點

    a. (可選)刪除已經(jīng)存在的swift目錄

    sudo rm -rf /etc/swift
    

    b. 往/etc/swift中加配置文件

    cd $HOME/swift/doc; sudo cp -r saio/swift /etc/swift; cd -
    sudo chown -R ${USER}:${USER} /etc/swift
    

    c. 在Swift config中更新<your-user-name>引用

    find /etc/swift/ -name \*.conf | xargs sudo sed -i "s/<your-user-name>/${USER}/"
    
  1. 創(chuàng)建運(yùn)行Swift的腳本
    a. 復(fù)制SAIO腳本,重新設(shè)置環(huán)境

    mkdir -p $HOME/bin
    cd $HOME/swift/doc; cp saio/bin/* $HOME/bin; cd -
    chmod +x $HOME/bin/*
    

    b. 編輯$HOME/bin/resetswift腳本

    echo "export SAIO_BLOCK_DEVICE=/srv/swift-disk" >> $HOME/.bashrc
    c. 安裝測試用的簡單配置文件
    
    ```shell
    cp $HOME/swift/test/sample.conf /etc/swift/test.conf
    

    d 添加運(yùn)行測試用的環(huán)境變量

    echo "export SWIFT_TEST_CONFIG_FILE=/etc/swift/test.conf" >> $HOME/.bashrc
    

    e 確保把bin目錄設(shè)置到環(huán)境變了中去

    echo "export PATH=${PATH}:$HOME/bin" >> $HOME/.bashrc
    

    f. source 一下剛剛設(shè)置環(huán)境變量,使其生效

    . $HOME/.bashrc
    

    g. 創(chuàng)建初始化rings

    remakerings
    

    h. xx
    i. 運(yùn)行單元測試

    $HOME/swift/.unittests
    

    j. 啟動Swift的主線程,分別包括(proxy, account, container, and object)這幾個進(jìn)程

    startmain
    

    k. 獲取X-Storage-UrlX-Auth-Token

    curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' http://127.0.0.1:8080/auth/v1.0
    

    l. 檢查能否獲得account

    curl -v -H 'X-Auth-Token: <token-from-x-auth-token-above>' <url-from-x-storage-url-above>
    

    m. 檢查python-swiftclient提供的swift命令是否可以用

    swift -A http://127.0.0.1:8080/auth/v1.0 -U test:tester -K testing stat
    

    n. 驗證unctional tests的運(yùn)行

    $HOME/swift/.functests
    

    o. 驗證probe tests的運(yùn)行

    $HOME/swift/.probetests
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末座柱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子叨吮,更是在濱河造成了極大的恐慌辆布,老刑警劉巖瞬矩,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茶鉴,死亡現(xiàn)場離奇詭異,居然都是意外死亡景用,警方通過查閱死者的電腦和手機(jī)涵叮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伞插,“玉大人割粮,你說我怎么就攤上這事∶奈郏” “怎么了舀瓢?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長耗美。 經(jīng)常有香客問我京髓,道長航缀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任堰怨,我火速辦了婚禮芥玉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘备图。我一直安慰自己灿巧,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布揽涮。 她就那樣靜靜地躺著抠藕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒋困。 梳的紋絲不亂的頭發(fā)上幢痘,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機(jī)與錄音家破,去河邊找鬼颜说。 笑死,一個胖子當(dāng)著我的面吹牛汰聋,可吹牛的內(nèi)容都是我干的门粪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼烹困,長吁一口氣:“原來是場噩夢啊……” “哼玄妈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起髓梅,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拟蜻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后枯饿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酝锅,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年奢方,在試婚紗的時候發(fā)現(xiàn)自己被綠了搔扁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡蟋字,死狀恐怖稿蹲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鹊奖,我是刑警寧澤苛聘,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響设哗,放射性物質(zhì)發(fā)生泄漏璧尸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一熬拒、第九天 我趴在偏房一處隱蔽的房頂上張望爷光。 院中可真熱鬧,春花似錦澎粟、人聲如沸蛀序。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽徐裸。三九已至,卻和暖如春啸盏,著一層夾襖步出監(jiān)牢的瞬間重贺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工回懦, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留气笙,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓怯晕,卻偏偏與公主長得像潜圃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子舟茶,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

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