跳到主要內容

在 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

留言

這個網誌中的熱門文章

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...

FluentD 實作 Nginx Access Log 補充

FluentD 實作 Nginx Access Log 補充 前一篇針對 FluentD 安裝 及 Nginx Access log format 設定提供範例 本篇補充 1. 將 access_log 存入 MySQL 2. 針對Input 加工,ex 解析 Path 拆成不同欄位,在傳入 Output 延伸閱讀 FluentD 參數說明 FluentD 實作 Nginx Access Log 將 access_log 存入 MySQL <worker 0> <source> ... 略 </source> <match nginx.web.access> @type copy ... 略 <store> @type sql host ${MySQL Host address} port ${MySQL Port} adapter mysql2 database ${MySQL Database} username ${MySQL User Name} password ${MySQL Password} <table> table ${MySQL table} column_mapping 'logtime:logtime,method:method,path:path,code:code,size:size,resptime:resptime,token:token,path_url:path_url,timestamp:created_at' </table> </store> </match> </worker> 針對Input 加工,ex 解析 Path 拆成不同欄位,在傳入 Output 情境: 以下 access log 範例,需要針對 Query Parameter 拆解並存入新欄位,以利分析. [27/Dec/2019:07:14:10 ...