Docker配置direct lvm模式

2021-08-04 09:28:25 字數 2089 閱讀 6264

配置direct-lvm模式

1.  停止docker

$ sudo systemctl stop docker

2.  安裝依賴包

3.  建立物理卷/dev/xvdf來替換塊裝置

$ sudo pvcreate /dev/xvdf

4.  用vgcreate命令在同乙個裝置上建立docker捲組

$ sudo vgcreate docker/dev/xvdf

5.  用lvcreate命令建立thinpool(資料)和thinpoolmeta(元資料)兩個邏輯卷

最後乙個引數指定空閒空間的數量,以允許在空間執行低時自動擴充套件資料或元資料,作為臨時的權宜之計。這些是推薦的值。

$ sudo lvcreate--wipesignatures y -n thinpool docker -l 95%vg

$ sudo lvcreate--wipesignatures y -n thinpoolmeta docker -l 1%vg

6.  用lvconvert命令把thinpool資料卷和thinpoolmeta元資料卷換為乙個精簡池,且此精簡池使用原資料卷的名字

$ sudo lvconvert -y --zero n-c 512k --thinpool docker/thinpool --poolmetadata docker/thinpoolmeta

7.  通過lvm profile配置精簡池的自動擴容

$ sudo vi/etc/lvm/profile/docker-thinpool.profile

8.  指定thin_pool_autoextend_threshold和thin_pool_autoextend_percent的值

thin_pool_autoextend_threshold:當達到使用空間的指定閾值(百分數)後,lvm就會試圖嘗試自動擴充套件可用的空間(100=禁用)。

thin_pool_autoextend_percent:當磁碟每次達到上面定義的閾值後,自動再擴充套件的百分比數(0=禁用)。

示例:當磁碟使用達到80%時,再擴充套件當前容量的10%。更新/etc/lvm/profile/docker-thinpool.profile

activation {

thin_pool_autoextend_threshold=80

thin_pool_autoextend_percent=10

儲存檔案。

9.  用lvchange命令啟用lvm profile

$ sudo lvchange--metadataprofile docker-thinpool docker/thinpool

10. 對主機上的邏輯卷啟用監視

如果沒有這個步驟,即使在lvm配置檔案出現時也不會發生自動擴充套件。

$ sudo lvs -o+seg_monitor

11. 備份docker原有資料

如果曾經在這個主機上執行過docker,或者如果/var/ lib/docker存在,那麼將它移出後,docker就可以使用新的lvm池來儲存映象和容器的內容了。

$ mkdir /var/lib/docker.bk

$ mv /var/lib/docker/*/var/lib/docker.bk

"storage-opts": [

"dm.use_deferred_removal=true",

"dm.use_deferred_deletion=true"

注意:延遲刪除選項,dm.use_deferred_deletion=true,在使用預設核心版本3.18時還不支援rhel、centos或ubuntu 14.04。

13. 啟動docker

systemd:

$ sudo systemctl start docker

service:

$ sudo service docker start

14. 檢視docker啟動資訊

$ docker info

15. 驗證配置正確後,就可以刪除/var/lib/docker.bk目錄了

$ rm -rf /var/lib/docker.bk

docker 對映配置

1.說明 docker中它能夠配置很多的映象容器,帶給我們很多的方便快捷,比如說關閉和開啟乙個tomcat服務,在我們的window或者linux中都是比較吃記憶體的,docker的容器化開發方便了許多,這裡就不多說docker的優缺點了,直接上案例 案例一 tomcat 發布專案,執行war包的對...

docker網路配置

檢視docker網路 docker network ls 檢視bridge 的ip docker inspect id 啟動乙個映象名字為aaa 設定網路host 網路預設為 bridge docker run itd name bbb centos bash host 網路ip和虛擬機器一樣 我們...

Docker網路配置

1 在沒有任何docker容器啟動時的原始宿主機網路如下 1.回環 2.物理網絡卡 3.4虛擬機器的 5.docker的網絡卡 2 啟動tomcat容器 docker run d p name tomcat test tomcat p是隨機埠 檢視當前已經有乙個啟動中的容器,是我們制定的tomcat...