1. 程式人生 > >【翻譯】使用Docker RBD卷外掛

【翻譯】使用Docker RBD卷外掛

原文作者 Sébastien Han
原文地址 http://www.sebastien-han.fr/blog/categories/presentation/
發表時間 08/17/2015
譯文作者 Younger Liu
翻譯時間 06/26/2018

    在一週前,Docker 1.8版本釋出,隨著這次釋出,docker支援多個卷外掛,但是這次我主要介紹關於Ceph RBD的外掛(雖然有三個)

1. 獲取Docker

       首先,獲取Docker1.8,可以參見如下命令:

$ curl -sSL https://get.docker.com/ | sh
$ docker --version
Docker version 1.8.1, build d12ea79

2. 配置卷外掛

       正如在前面所說,有三個Driver來做同樣的事情:

       不得不承認,我選擇從Yp engineering開始的方式是非常武斷的。因此,我對其他人的瞭解不多,也不能給你提供更多的反饋。

       首先安裝依賴軟體:

$ sudo apt-get install -y golang librados-dev librbd-dev ceph-common xfsprogs
$ export GOPATH=$HOME
$ export PATH=$PATH:$GOPATH/bin
$ go get github.com/yp-engineering/rbd-docker-plugin
$ sudo rbd-docker-plugin -h
Usage of rbd-docker-plugin:
  -cluster="": Ceph cluster
  -config="": Ceph cluster config
  -create=false: Can auto Create RBD Images
  -fs="xfs": FS type for the created RBD Image (must have mkfs.type)
  -logdir="/var/log": Logfile directory
  -mount="/var/lib/docker/volumes": Mount directory for volumes on host
  -name="rbd": Docker plugin name for use on --volume-driver option
  -plugins="/run/docker/plugins": Docker plugin directory for socket
  -pool="rbd": Default Ceph Pool for RBD operations
  -remove=false: Can Remove (destroy) RBD Images (default: false, volume will be renamed zz_name)
  -size=20480: RBD Image size to Create (in MB) (default: 20480=20GB)
  -user="admin": Ceph user
  -version=false: Print version

       正如您所看到的,RBD卷外掛支援幾個選項,包括群集名稱、使用者,卷外掛有2種不同的方法來調配卷:

  • 手動地:您必須建立RBD映像,並由您自己將檔案系統置於其上,當您知道每個卷的大小可以變化時,這是很有趣的。如果不是,您可能應該為您配置外掛來為您做。
  • 自動地:其中外掛將為您建立映像和檔案系統。

    該服務是通過systemd來管理的,為了本教程的目的,我將通過STDOUT執行它。

3. 執行

       在啟動service之前,先來配置ceph叢集

$ sudo ceph osd pool create docker 128
pool 'docker' created
$ sudo ceph auth get-or-create client.docker mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=docker' -o /etc/ceph/ceph.client.docker.keyring
Driver通過寫/run/docker/plugins/rbd.sock來完成RBD的通訊,Docker在執行與ceph RBD相關的操作時會用到這個Socket(比如,建立卷、或者繫結掛載)

4. 應用

       接下倆,將通說bash啟動一個docker

$ sudo docker run -it --volume-driver=rbd --volume foo:/mnt/foo ceph/base bash
[email protected]:/#
[email protected]:/# df -h
Filesystem                          Size  Used Avail Use% Mounted on
rootfs                              158G   13G  139G   9% /
none                                158G   13G  139G   9% /
tmpfs                               2.0G     0  2.0G   0% /dev
shm                                  64M     0   64M   0% /dev/shm
tmpfs                               2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/rbd1                            20G   33M   20G   1% /mnt/foo
/dev/disk/by-label/cloudimg-rootfs  158G   13G  139G   9% /etc/hosts
tmpfs                               2.0G     0  2.0G   0% /proc/kcore
tmpfs                               2.0G     0  2.0G   0% /proc/latency_stats
tmpfs                               2.0G     0  2.0G   0% /proc/timer_stats
root[email protected]:/# touch /mnt/foo/bar

那麼發生了什麼哪?

Driver做了如下事情:

1. 建立了一個20GB的映象

2. 在20G映象之上建立了一個XFS檔案系統

3. 對映並且將檔案系統掛載了容器上

當關閉容器後,資料會持久化,並且可以在下一個容器中繼續使用

相關推薦

翻譯使用Docker RBD外掛

原文作者 Sébastien Han 原文地址 http://www.sebastien-han.fr/blog/categories/presentation/ 發表時間 08/17/2015 譯文作者 Younger Liu 翻

翻譯TensorFlow積神經網路識別CIFAR 10Convolutional Neural Network (CNN)| CIFAR 10 TensorFlow

原網址:https://data-flair.training/blogs/cnn-tensorflow-cifar-10/ by DataFlair Team · Published May 21, 2018 · Updated September 15, 2018 1、目標-TensorFlow C

翻譯TensorFlow積神經網絡識別CIFAR 10Convolutional Neural Network (CNN)| CIFAR 10 TensorFlow

man 加載 published class cif alt lis update air 原網址:https://data-flair.training/blogs/cnn-tensorflow-cifar-10/ by DataFlair Team · Publish

Gradle 梳理 - 外掛 Gradle 教程:第二部分,JAVA PROJECTS翻譯

Gradle 教程:第二部分,JAVA PROJECTS【翻譯】   原文地址:http://rominirani.com/2014/07/28/gradle-tutorial-part-2-java-projects/ 在這部分的教學中,我們會學習如何使用Gradle

翻譯使用Docker Compose一鍵安裝安裝Mesos

你絕對應該嘗試一下Docker。它高效和簡單的使用者體驗會令你驚歎。在這篇文章中,我將向你展示如何使用Docker compose構建一個單節點的Mesos。 Docker在2月26日釋出了compose。Compose可以讓你實現多環境下安裝Mesos,並用一個二進位制的docker-compose

翻譯 View Frustum Culling --1 View Frustum’s Shape

near com 矩形區域 狀態 翻譯 cnblogs 位置 移動 距離 這是一些列來自lighthouse3d的視錐體裁剪教程。旨在學習總結,及便於查閱。 1、視錐體的形狀 在OpenGL中,透視投影是由兩個函數定義的gluPerspective和gluLookAt

翻譯關於vertical-align所有你需要知道的

增加 大寫 內聯 簡單 -s 列表 fin 技術分享 解決方案 本文是翻譯過來的,如果有不對的地方還請指教~,原文鏈接:Vertical-Align: All You Need To Know 前面一些說明,可以略過不看吧 我經常需要對元素進行垂直方向上的布局。 CSS提供

翻譯ASP.NET Core 文檔目錄

www asp nbsp .com col actions size 組件 ons 簡介 入門 創建一個Web應用程序 創建一個Web API 教程 基礎 MVC Razor Pages Razor 語法 Model 綁定

GTD190018:翻譯The Case Against Civilization

sed trait intervals cycle variety enter method nor get https://www.newyorker.com/magazine/2017/09/18/the-case-against-civilization

翻譯‘BadRabbit’ Ransomware Burrows Into Russia, Ukraine

ati exe rar product ner qcow dns query rep stream 【來源】 ‘BadRabbit’ Ransomware Burrows Into Russia, Ukraine By Raj Samani and Christiaan B

翻譯在GitHub上通過星級評估排名前10的最受歡迎的開源Delphi項目

href ref -s 編程 強烈 使用 系統 ioc 進行 GitHub上有相當多的Delphi開源項目可以為你節省一些時間。我在GitHub上搜索了Delphi,然後按最主要的項目進行排序,並列出了前十名單。這裏有一些非常好的東西,包括Awesome Delphi(這是

翻譯《向“彈跳球”演示程序添加新功能》 in MDN

dev tps sts color htm html nes obj doc 文章地址: https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Objects/%E5%90%91%E2%80%9C%E5%BC%B

LinuxServicesSaaSDocker+kubernetes(4. 用ansible管理機器和軟件)

實現 service SDR https 輸出 公司 keygen /etc slave 1. 簡介 1.1. 公司環境使用的puppet,但是我更喜歡ansible,原因有二,第一,我是紅帽的忠粉:),第二,我對python比較熟悉 1.2. ansible官方網站:ht

翻譯- EffectiveAkka-第二章(一)

未來 接口 ask success 就是 -m des exec uri Actor使用模式   現在我們已經了解了可以創建的actor系統的不同類型,那麽我們在編寫基於actor的應用程序時,可以采用什麽樣的使用模式,以便避免出現常見錯誤呢? 下面就讓我們看看其中使用模式

翻譯Apache Shiro10分鐘教程

做什麽 網頁 cnblogs 讓我 技術 參考手冊 user com 分鐘 本文為翻譯文,原文地址:http://shiro.apache.org/10-minute-tutorial.html 介紹 歡迎來到Apache Shiro的10分鐘教程! 通過這個教程,你會完全

轉載Docker 經驗之談

com 適合 自動下載 roo static 包含 處理 library latest 本文來源:Ghostcloud原創 對於用戶來說,可能一開始在不了解的情況下會對容器報以拒絕的態度,但是在嘗到容器的甜頭、體驗到它的強大性能之後,相信大家最終是無法

docker之Dockerfile實踐

b2c size ebe rem 目錄 all 緩存 local title 上一篇介紹了Dockerfile中使用的指令,現在開始進行指令實踐 先查看下本地的鏡像,選一個作為base image: [root@docker ~]# docker images REPO

翻譯Temporal supersampling and antialiasing

鋸齒 In TE ant bar can add rec always 原文鏈接:https://bartwronski.com/2014/03/15/temporal-supersampling-and-antialiasing/ Aliasing problem鋸齒問題

docker+jenkins+git持續部署實踐

ref workspace 重要 star ng- 匿名 web del 目錄 寫在前面 以前搭建spring-cloud的時候 看到別人代碼裏面總有Dockerfile,然後了解到docker容器的概念,玩了兩個星期玩不下去了,就放下了,無意間在網上看到一篇文章Docke

PLSQL簡介(一)翻譯

發展 奇怪 設置 操作系統 fort 成熟 解決 之一 其他 PLSQL簡介(一)【翻譯】 原書:steven feuerstei-oracle PLSQL grogramming 2014 PL / SQL代表“結構化查詢語言和過程語言。 Oracle公司推出了PL