日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

手動擴容云盤數(shù)據(jù)卷

隨著業(yè)務發(fā)展和應用數(shù)據(jù)增長,當云盤使用空間不足時,您可以通過云盤擴容來解決磁盤容量不足的問題。但容器服務Kubernetes 1.16之前的舊版本不支持云盤自動擴容,您需要手動擴容云盤。本文介紹如何通過手動擴容云盤增加云盤空間。

使用說明

  • 使用限制

    僅支持擴容32 TiB及以下容量的云盤。

  • 數(shù)據(jù)備份

    擴容數(shù)據(jù)卷前,先執(zhí)行云盤快照備份數(shù)據(jù),以防擴容過程異常導致數(shù)據(jù)丟失。

  • 適用范圍

    PV類型為靜態(tài)云盤數(shù)據(jù)卷。

基于云盤的穩(wěn)定性需求,提供以下兩種擴容方式:

查看云盤使用信息

本文以Web有狀態(tài)應用為例,介紹兩種擴容方式。參考以下操作,查看云盤的使用信息。

  1. 執(zhí)行以下命令,查看Web應用的Pod。

    kubectl get pod | grep web

    預期輸出:

    NAME                               READY   STATUS    RESTARTS   AGE
    web-0                              1/1     Running   0          11h
    web-1                              1/1     Running   0          11h
  2. 執(zhí)行以下命令,查看Web應用的PVC。

    kubectl get pvc | grep web

    預期輸出:

    NAME             STATUS   VOLUME        CAPACITY   ACCESS MODES   STORAGECLASS         AGE
    disk-ssd-web-0   Bound    d-0jlhaq***   20Gi       RWO            alicloud-disk-essd   11h
    disk-ssd-web-1   Bound    d-0jl0j5***   20Gi       RWO            alicloud-disk-essd   11h
  3. 執(zhí)行以下命令查看Web應用的PV。

    kubectl get pv | grep web

    預期輸出:

    NAME          CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                    STORAGECLASS        REASON    AGE
    d-0jl0j5***   20Gi       RWO            Delete           Bound    default/disk-ssd-web-1   alicloud-disk-essd            11h
    d-0jlhaq***   20Gi       RWO            Delete           Bound    default/disk-ssd-web-0   alicloud-disk-essd            11h

    從以上預期輸出可得:示例應用Web使用了20 GiB的d-0jl0j5***d-0jlhaq***云盤,分別掛載在2個Pod上。

關(guān)于如何部署Web有狀態(tài)應用的具體操作,請參見創(chuàng)建有狀態(tài)工作負載StatefulSet

方式一:不暫停應用手動在線擴容

根據(jù)PV信息找到對應的云盤,手動對云盤擴容,然后在云盤對應掛載節(jié)點手動執(zhí)行文件系統(tǒng)擴容。以下示例介紹如何把2個云盤擴容到30 GiB。

步驟一:云盤數(shù)據(jù)卷擴容

  1. 登錄ECS管理控制臺

  2. 在左側(cè)導航欄,選擇存儲與快照 > 云盤。

  3. 找到Web應用對應的云盤d-0jl0j5***d-0jlhaq***,查看云盤狀態(tài),然后在各自操作列選擇更多 > 擴容

  4. 磁盤擴容頁面,選中在線擴容,并輸入擴容后容量,例如30 GiB。

    說明

    設置的擴容后容量不允許小于當前容量。

  5. 仔細閱讀并選中《云服務器ECS服務條款》,確認費用后單擊確認擴容。

    具體操作,請參見擴大云盤容量。

  6. 閱讀磁盤擴容須知后,單擊已閱讀,繼續(xù)擴容,完成費用支付。

    云盤頁面查看云盤容量是否擴容成功。

步驟二:文件系統(tǒng)擴容

擴容云盤后,需要完成對文件系統(tǒng)的擴容,否則容器內(nèi)存儲空間依然是擴容前的大小。

重要

此步驟僅針對未分區(qū)云盤,是K8s中云盤的標準使用方法,不建議在K8s系統(tǒng)中使用分區(qū)云盤。

  1. 查看當前云盤掛載節(jié)點。

    1. 登錄ECS管理控制臺。

    2. 在左側(cè)導航欄,選擇存儲與快照 > 云盤。

    3. 找到Web應用對應的云盤d-0jl0j5***d-0jlhaq***,分別單擊云盤名稱。

    4. 云盤詳情頁面的掛載實例列表中單擊所掛載的實例,然后在實例詳情頁簽查看實例網(wǎng)絡信息

      說明

      也可通過在K8s中查看該云盤對應Pod所在的節(jié)點。具體操作,請參見查看容器組(Pod)

  2. 連接到掛載云盤的ECS實例節(jié)點上,獲取云盤設備符。

    關(guān)于如何連接到ECS實例節(jié)點,請參見連接方式概述

    可通過以下方法獲取云盤設備符。

    • 獲取云盤設備符

    • 執(zhí)行以下命令獲取云盤d-0jlhaq***的設備符。

      # 查詢 {pv-name}
      mount |grep d-0jlhaq*** 

      預期輸出:

      /dev/vdc on /var/lib/kubelet/plugins/kubernetes.io/csi/pv/d-0jlhaq***/globalmount type ext4 (rw,relatime)
      /dev/vdc on /var/lib/kubelet/pods/a26d174f-***/volumes/kubernetes.io~csi/d-0jlhaq***/mount type ext4 (rw,relatime)

      從以上預期輸出可得:所掛載的云盤d-0jlhaq***在當前節(jié)點的設備符為/dev/vdc

  3. 執(zhí)行以下命令,擴容文件系統(tǒng)。

    resize2fs /dev/vdc
    說明

    /dev/vdc步驟2獲取的云盤設備符。

    預期輸出:

    resize2fs 1.43.5 (04-Aug-2017)
    Filesystem at /dev/vdc is mounted on /var/lib/kubelet/plugins/kubernetes.io/csi/pv/d-0jlhaq***/globalmount; on-line resizing required
    old_desc_blocks = 3, new_desc_blocks = 4
    The filesystem on /dev/vdc is now 7864320 (4k) blocks long.
  4. 執(zhí)行以下命令,驗證文件系統(tǒng)擴容結(jié)果。

    lsblk /dev/vdc

    預期輸出:

    NAME MAJ:MIN  RM SIZE RO TYPE MOUNTPOINT
    vdc  254:32   0  30G  0  disk /var/lib/kubelet/pods/a26d174f-***/volumes/kubernetes.io~csi/d-0jlhaq***/mount

    從以上預期輸出可得,vdc文件系統(tǒng)存儲空間為30 GiB。

方式二:暫停應用手動擴容

通過刪除StatefulSet或者將Replica配置為0的方式暫停應用,手動對每個依賴數(shù)據(jù)盤擴容,然后再啟動應用。以下示例展示如何把2個云盤擴容到30 GiB。

步驟一:刪除應用Pod

  1. 執(zhí)行以下命令,將Pod縮容為0個副本。

    kubectl scale sts web --replicas=0

    預期輸出:

    statefulset.apps/web scaled
  2. 執(zhí)行以下命令,查看Pod是否刪除。

    kubectl get pod | grep web

    無輸出,代表已刪除Web應用。

步驟二:云盤數(shù)據(jù)卷擴容

  1. 登錄ECS管理控制臺

  2. 在左側(cè)導航欄,選擇存儲與快照 > 云盤

  3. 找到Web應用對應的云盤d-0jl0j5***d-0jlhaq***,查看云盤狀態(tài),然后在各自操作列選擇更多 > 擴容

  4. 磁盤擴容頁面配置擴容方式及擴容后容量。

    • 若云盤處于待掛載狀態(tài),在磁盤擴容頁面無需選中在線擴容,輸入擴容后容量,例如30 GiB。

    • 若云盤處于使用中狀態(tài),在磁盤擴容頁面選中在線擴容,并輸入擴容后容量

    說明

    設置的擴容后容量不允許小于當前容量。

  5. 仔細閱讀并選中《云服務器ECS服務條款》,確認費用后單擊確認擴容。

    具體操作,請參見步驟一:擴容云盤容量。

  6. 閱讀磁盤擴容須知后,單擊已閱讀,繼續(xù)擴容,完成費用支付。

步驟三:文件系統(tǒng)擴容

擴容云盤后,需要完成對文件系統(tǒng)的擴容,否則容器內(nèi)存儲空間依然是擴容前的大小。

重要

此步驟僅針對未分區(qū)云盤,是K8s中云盤的標準使用方法,不建議在K8s系統(tǒng)中使用分區(qū)云盤。

  1. 可選:將待掛載云盤掛載到某個ECS節(jié)點。

    說明

    需要將云盤掛載到ECS節(jié)點上才可實現(xiàn)文件系統(tǒng)擴容。

    1. 登錄ECS管理控制臺。

    2. 在左側(cè)導航欄,選擇存儲與快照 > 云盤。

    3. 對于待掛載狀態(tài)的云盤,在操作列選擇更多 > 掛載。

    4. 掛載云盤對話框,選擇目標實例并設置云盤相關(guān)釋放行為。

      配置項

      說明

      目標實例

      選擇需要掛載的ECS實例。

      云盤隨實例釋放

      選中此選項,釋放實例時會自動釋放此云盤。 如果未選中,當實例被釋放時該云盤會被保留下來。

      說明

      如果您掛載的是從其他實例卸載的系統(tǒng)盤,云盤隨實例釋放中的實例指系統(tǒng)盤被卸載前的源ECS實例,并非當前操作的實例。

      自動快照隨云盤釋放

      選中此選項,當云盤釋放時該云盤創(chuàng)建的自動快照都會一起釋放。建議您不要選擇該選項,以便保留備份數(shù)據(jù)。

    5. 單擊執(zhí)行掛載

    如果該云盤的狀態(tài)變?yōu)?b data-tag="uicontrol" id="uicontrol-ef4-6t2-0xs" class="uicontrol">使用中,表示掛載成功。

  2. 連接到掛載云盤的ECS實例節(jié)點上,獲取云盤設備符。

    關(guān)于如何連接到ECS實例節(jié)點,請參見連接方式概述。

    • 執(zhí)行以下命令獲取云盤設備符。

      for device in `ls /sys/block | grep vd`; do 
        cat /sys/block/$device/serial | grep 0jlhaq*** && echo $device; 
      done
      說明

      0jlhaq***為擴容云盤IDd-0jlhaq***d-后的字符串。

    • 可選:若上述操作無法獲取到云盤設備符,請按以下操作獲取。

      1. 將目標云盤卸載后執(zhí)行ls /dev/vd*命令查看云盤列表。

      2. 將目標云盤掛載后執(zhí)行ls /dev/vd*命令查看云盤列表。

      3. 比較上述獲取的云盤列表,多出來的云盤即為目標云盤。

  3. 執(zhí)行以下命令,擴容文件系統(tǒng)。

    resize2fs /dev/vdb
    說明

    /dev/vdb步驟2獲取的云盤設備符。

    預期輸出:

    resize2fs 1.43.5 (04-Aug-2017)
    Resizing the filesystem on /dev/vdb to 7864320 (4k) blocks.
    The filesystem on /dev/vdb is now 7864320 (4k) blocks long.
  4. 驗證文件系統(tǒng)擴容結(jié)果。

    1. 執(zhí)行以下命令,創(chuàng)建臨時文件夾/mnt/disk/,并將云盤掛載到臨時文件夾上。

      mkdir /mnt/disk
      mount /dev/vdb /mnt/disk/
    2. 執(zhí)行以下命令,查看文件系統(tǒng)大小。

      df /mnt/disk/

      預期輸出:

      Filesystem     1K-blocks  Used Available Use% Mounted on
      /dev/vdb        30832548 45036  30771128   1% /mnt/disk

      從以上預期輸出可得:臨時文件夾/dev/vdb的容量為30 GiB,說明已經(jīng)擴容成功。

    3. 執(zhí)行以下命令,將云盤從臨時文件夾卸載。

      umount /mnt/disk

步驟四:重啟應用

  1. 執(zhí)行以下命令,將Pod擴容為2個副本。

    kubectl scale sts web --replicas=2

    預期輸出:

    statefulset.apps/web scaled
  2. 執(zhí)行以下命令,查看Pod是否恢復。

    kubectl get pod | grep web

    預期輸出:

    NAME         READY   STATUS    RESTARTS   AGE
    web-0        1/1     Running   0          74s
    web-1        1/1     Running   0          42s
  3. 執(zhí)行以下命令,查看文件系統(tǒng)大小。

    kubectl exec web-0 -- df /data

    預期輸出:

    Filesystem     1K-blocks  Used Available Use% Mounted on
    /dev/vdb        30832548 45036  30771128   1% /data

    從以上預期輸出可得,/dev/vdb文件系統(tǒng)存儲空間為30 GiB。

在執(zhí)行resize2fs命令后出現(xiàn)如下錯誤提示

resize of device /dev/xxx failed: exit status 1 resize2fs output: resize2fs xxx(version)
Please run `e2fsck -f /dev/xxx` first

問題原因

因為不滿足文件系統(tǒng)的一致性導致IO崩潰。

解決方案

請按照提示執(zhí)行e2fsck -f /dev/xxx后再嘗試擴容。