日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于docker的存储驱动

發布時間:2025/4/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于docker的存储驱动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

#背景 一直以來我的業務都是跑在aufs+ext4的存儲驅動結構上,看上去沒有什么問題,直到業務報告: 在高并發場景下,aufs因為鎖爭搶的原因,導致cpu高負載。我才不得不考慮更換docker驅動的事情

#關于外部資料的收集 看了一圈下來,docker的存儲驅動目前可以說分為三個流派(可以用在生產環境為標準):

  • aufs+ext4
  • overlay2+xfs
  • devicemapper
  • 目前沒有人大膽用第4個存儲驅動,玩玩可以,可要是到生產環境,指不定要修多少內核bug,這對于哪些沒有內核和文件系統人才的公司簡直是噩夢。 其中aufs的使用門檻最低,內核版本和底層文件系統要求比較少,也經過生產驗證,穩定,但是如上所說,高并發場景不合適。aufs在控制到鏡像層數的情況下,16M以下的文件讀寫性能不會太差。

    overlay2是為了解決overlay耗盡inode問題的演化版本,overlay要求的Linux內核至少3.18版本之后,Docker1.11前只能使用overlay, 而Overlay2要求內核版本在4.0以上。另外我要聲明一下,docker的存儲driver都有不同程度的坑,目前比較能接受的是overlayfs+xfs ,我就遇到個bug:

    #overlay2+ext4 bash-4.1# mv index.php kks.php mv: cannot move `index.php' to a subdirectory of itself, `kks.php'

    另外如果你確定你的低版本內核已經支持了overlay,可以用下面的配置跳過內核版本檢查

    vim /etc/docker/daemon.json {"storage-driver": "overlay2","storage-opts": ["overlay2.override_kernel_check=true"] }

    制作xfs時要加上ftype的參數

    mkfs.xfs -f -n ftype=1 /dev/sda4

    devicemapper因為和上面兩個技術原理上發生了質的變化,從配置上就復雜了一些,還要給docker數據單獨分區,相當的麻煩,要求的內核版本(4.0以上)和docker版本(17.06)就更高了。我最后是放棄測試了。

    附上測試數據

    我認為之所以overlay2比裸硬盤ext4還叼,主要還是因為xfs比ext4要叼,當然overlay從速度上還是和aufs一樣都比較接近裸硬盤,(我這不是高并發測試,aufs僅有三層) aufs從原理上講鏡像層數越多性能越差,如果層數越少,性能就越接近裸硬盤。

    測試方法 ./iozone -a -n 4k -g 1g -i 0 -i 1 -i 2 -f /root/test.rar -Rb ./iozone.xls

    相關的資料 https://docs.docker.com/storage/storagedriver/select-storage-driver/

    http://dockone.io/article/1513

    轉載于:https://my.oschina.net/xueyi28/blog/1787353

    總結

    以上是生活随笔為你收集整理的关于docker的存储驱动的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。