跳到主要內容

在 GCP 新增 VM 執行個體的儲存空間



GCP 文件連結

建立 GCP VM instance 時,預設磁碟空間為10GB,可在建立時自行調整,
也可另外新增永久磁碟供VM 掛載使用

在建立永久磁區前,請先參考 儲存空間儲存空間的類型及效能
地區與區域的區別為:地區區域的集合
並且參考其 磁碟定價
來做為你要新增儲存空間的依據

以下以新增區域永久磁碟做說明



1. 增加新磁碟
前往 VM 執行個體  頁面
VM 執行個體詳細資料 點擊 編輯
在磁碟標籤標籤下 點擊 增加新磁碟
指定名稱、類型、來源 等屬性後
點擊儲存

2. 格式化和掛接新磁碟

//在終端機中,使用 lsblk 指令列出連接到執行個體的磁碟,並搜尋您要格式化和掛接的磁碟 
sudo lsblk

//格式化磁碟 以下用 sdb 取代 [DEVICE_ID]
sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/[DEVICE_ID]

//建立做為新磁碟掛接點的目錄 以下用 extra 取代 [MNT_DIR] 
sudo mkdir -p /mnt/disks/[MNT_DIR]

//使用掛接工具,將磁碟掛接到已啟用 discard 選項的執行個體 
sudo mount -o discard,defaults /dev/[DEVICE_ID] /mnt/disks/[MNT_DIR]

//設定裝置上的讀取與寫入權限。在此範例中,授予所有使用者對裝置的寫入存取權 
sudo chmod a+w /mnt/disks/[MNT_DIR]

//可用單一指令完成此步驟。舉例來說,下列指令會在 /etc/fstab 中建立項目,以永久磁碟的 UUID 將 /dev/sdb 永久磁碟掛接到 /mnt/disks/[MNT_DIR] 
echo UUID=`sudo blkid -s UUID -o value /dev/[DEVICE_ID]` /mnt/disks/[MNT_DIR] ext4 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab


補充


將 Docker 遷移至新磁碟
參考來源



//編輯 Config 以下用 /mnt/disks/extra/dockerimages 取代 /new/path/docker  
sudo vi /lib/systemd/system/docker.service

FROM:
ExecStart=/usr/bin/docker daemon -H fd://
TO:
ExecStart=/usr/bin/dockerd -g /new/path/docker -H fd://

//docker core stop 
systemctl stop docker

//check docker alive 
ps aux | grep -i docker | grep -v grep

//copy docker image from old folder to new  
rsync -aqxP /var/lib/docker/ /new/path/docker

//reload docker config 
systemctl daemon-reload

//docker core start 
systemctl start docker

留言

這個網誌中的熱門文章

FluentD 實作 Error Log

FluentD 實作 Error Log 本篇將介紹使用 DotNet 專案 log4net 套件,紀錄的 log 針對 Error Level 的訊息透過FluentD 提取出來 在紀錄中 增加 trace ID 設入 MongoDB , 及加入 Slack 通知 延伸閱讀 FluentD 參數說明 FluentD 實作 Nginx Access Log FluentD 實作 Nginx Access Log 補充 log4net <?xml version="1.0" encoding="utf-8" ?> <configuration> <log4net> <appender name="All" type="log4net.Appender.RollingFileAppender"> <file value="/var/log/my.log" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <datePattern value="yyyy-MM-dd" /> <maximumFileSize value="5MB" /> <maxSizeRollBackups value="10" /> <staticLogFileName value="true" /> <PreserveLogFileNameExtension value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%date] [...

Grafana Dashboard 建立

建立自己的 Dashboard # 由於 intelligent sense 相當不錯,輸入關鍵字他會帶出 metric label # 另外可參考 https://prometheus.io/docs/prometheus/latest/querying/basics/ Prometheus Query # 或是直接拿其他已建立的Dashboard 可複製到新的 Dashboard ex: node_memory_MemTotal_bytes # 取伺服器記憶體容量資料 # 過濾條件在{}加入 ex: node_memory_MemTotal_bytes{instance="${server 1}:9100"} # 要取特定伺服器資料 # Setting 中設定 Variables ex: node_memory_MemTotal_bytes{instance=~"$node"} # 變數名稱 node 建立 Alert .Visualization 必須是Graph

FluentD 參數說明

FluentD 高效、統一的日誌收集器 延伸閱讀 FluentD 實作 Nginx Access Log FluentD 實作 Nginx Access Log 補充 FluentD 安裝 Dockerfile FROM fluent/fluentd:v1.8.1-1.0 # Use root account to use apk USER root # below RUN includes plugin as examples elasticsearch is not required # you may customize including plugins as you wish RUN apk add --no-cache --update --virtual .build-deps \ sudo build-base ruby-dev \ && apk add mariadb-dev \ && sudo gem install fluent-plugin-elasticsearch \ && sudo gem install fluent-plugin-mongo \ && sudo gem install fluent-plugin-sql \ && sudo gem install mysql2 -v 0.5.2 \ && sudo gem sources --clear-all \ && apk del .build-deps \ && rm -rf /home/fluent/.gem/ruby/2.5.0/cache/*.gem VOLUME ["/fluentd/etc","/fluentd/log","/var/log"] docker-compose.yml version: '3' services: fluentd: build: context: . dockerfile: ./Dockerfile image: my/flue...