# Machine Image 實作 ###### tags: `GCP實作` ## :rocket: 1: Machine Image 建立與使用 ### Step1: 創建一台VM ![](https://i.imgur.com/qGjg0yY.png) ![](https://i.imgur.com/TQ4GgHU.png) ![](https://i.imgur.com/yVijXsm.png) ![](https://i.imgur.com/dgL60Id.png) ![](https://i.imgur.com/NZVb4Zj.png) ### Step2: SSH連進去 加上一些檔案 1. 安裝git ![](https://i.imgur.com/nevzWex.png) 2. 確認有安裝 ![](https://i.imgur.com/fpTOS1V.png) 3. sudo lsblk -p ![](https://i.imgur.com/oloPiiV.png) 4. 創一個資料夾 mkdir mydata 5. 看硬碟 /dev/sdb目前格式化的狀況 sudo file -s /dev/sdb ![](https://i.imgur.com/XKUqSGC.png) 可以看到目前還是data 所以要先進行硬碟格式化 6. 做硬碟格式化 sudo mkfs -t xfs /dev/sdb![](https://i.imgur.com/uBjroYQ.png) 7. 再重看硬碟 /dev/sdb目前格式化的狀況 sudo file -s /dev/sdb ![](https://i.imgur.com/UwXtyTl.png) 可以看到目前的file system已經變成 XFS 8. 進行mount sudo mount /dev/sdb ./mydata ![](https://i.imgur.com/On4AR2h.png) sdb已經成功mount到本地的mydata目錄 9. cd mydata 建立假檔案 sudo fallocate -l 1g fake_file ls -lh ![](https://i.imgur.com/TnyO0A4.png) 10. 查看目前硬碟使用狀況 df -h ![](https://i.imgur.com/W42hRr9.png) 可以看到sdb mount到mydata下,且已經用了4.6G ### Step3: 回VM Console頁面 ![](https://i.imgur.com/4z8gUvL.png) ![](https://i.imgur.com/kvJB5gg.png) ![](https://i.imgur.com/EkabSAG.jpg) 會備份Boot Dist & Additional Disk ### Step4: 把最初創立的VM & additional disk刪掉 ![](https://i.imgur.com/ADurPwo.png) ### Step5: 用剛剛建立的image建立一個新的VM ![](https://i.imgur.com/HJ4Rcc4.png) ![](https://i.imgur.com/xJTN0DH.png) ![](https://i.imgur.com/MrnLr3D.png) ![](https://i.imgur.com/q4wbS2t.png) 可以看到: 1. Machine Type會沿用 2. Boot disk會沿用 3. Ad disk會沿用 ### Step6: SSH連進去 驗證檔案是否都在 可以看到: 1. sudo git --version git 已經安裝好了 ![](https://i.imgur.com/jWH8DG4.png) 2. sudo lsblk -p ![](https://i.imgur.com/4ueGonu.png) sda一樣式20g的開機硬碟, sdb一樣是500g額外硬碟 但現在還沒有被mount 3. 再看看/dev/sdb目前格式化狀況 sudo file -s /dev/sdb ![](https://i.imgur.com/qZcR881.png) 可以看到在先前的VM已經做過硬碟格式化,所以這邊已經是XFS格式,不用再做一次 現在只要把它mount上去即可 4. ls ![](https://i.imgur.com/Yiia26S.png) mydate目錄已經存在 5. 執行mount sudo mount /dev/sdb ./mydata ![](https://i.imgur.com/cFD569o.png) 6. cd進去mydata cd mydata ls -lh ![](https://i.imgur.com/eNrgZsG.png) ## :rocket: 2: 資源清理 1. 刪除VM 2. 刪除Disk 3. 刪除Machine images