GSP004

總覽
透過 Compute Engine,您可以在 Google 基礎架構上,建立及執行搭載不同作業系統的虛擬機器,包括多種 Linux 發行版 (Debian、Ubuntu、Suse、Red Hat、CoreOS) 和 Windows Server!
Compute Engine 提供永久磁碟,可做為虛擬機器執行個體的主要儲存空間。永久磁碟和實體硬碟一樣,獨立於機器其他部分。如果刪除虛擬機器執行個體,連接的永久磁碟還是會保留資料,且可以再連接至其他執行個體。
注意:永久磁碟分為兩類:
如要進一步瞭解不同儲存空間的差異,請按這裡。每種永久磁碟的容量限制皆不相同。詳情請參閱永久磁碟說明文件。
在本實作實驗室中,您將學習如何建立永久磁碟,並將該磁碟連接至虛擬機器。
課程內容
- 建立新的 VM 執行個體並連接永久磁碟
- 格式化及掛接永久磁碟
事前準備
- 如果瞭解如何使用標準 Linux 文字編輯器 (例如
vim、emacs 或 nano),學習過程會更加順利。
設定和需求
瞭解以下事項後,再點選「Start Lab」按鈕
請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
- 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
- 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。
如何開始研究室及登入 Google Cloud 控制台
-
點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
- 「Open Google Cloud console」按鈕
- 剩餘時間
- 必須在這個研究室中使用的臨時憑證
- 完成這個實驗室所需的其他資訊 (如有)
-
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」。
-
如有必要,請將下方的 Username 貼到「登入」對話方塊。
{{{user_0.username | "Username"}}}
您也可以在「Lab Details」窗格找到 Username。
-
點選「下一步」。
-
複製下方的 Password,並貼到「歡迎使用」對話方塊。
{{{user_0.password | "Password"}}}
您也可以在「Lab Details」窗格找到 Password。
-
點選「下一步」。
重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。
注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
-
按過後續的所有頁面:
- 接受條款及細則。
- 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
- 請勿申請免費試用。
Google Cloud 控制台稍後會在這個分頁開啟。
注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。
啟動 Cloud Shell
Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
-
點按 Google Cloud 控制台頂端的「啟用 Cloud Shell」圖示
。
-
系統顯示視窗時,請按照下列步驟操作:
- 繼續操作 Cloud Shell 視窗。
- 授權 Cloud Shell 使用您的憑證發出 Google Cloud API 呼叫。
連線建立完成即代表已通過驗證,而且專案已設為您的 Project_ID:。輸出內容中有一行文字,宣告本工作階段的 Project_ID:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。
- (選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
- 點按「授權」。
輸出內容:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project
輸出內容:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
注意:如需 gcloud 的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南。
設定區域和可用區
- 設定本實驗室的專案區域和可用區:
gcloud config set compute/zone {{{project_0.default_zone | Zone}}}
gcloud config set compute/region {{{project_0.default_region | Region}}}
- 建立區域的變數:
export REGION={{{project_0.default_region | Region}}}
- 建立可用區的變數:
export ZONE={{{project_0.default_zone | Zone}}}
詳情請參閱區域和可用區說明文件。
注意:如果在自己的機器上執行 gcloud,各個工作階段都會保留這些設定,但如果在 Cloud Shell 中,每次啟動新工作階段或重新連線時,都必須進行這項設定。
工作 1:建立新執行個體
首先,請建立只有開機磁碟的 Compute Engine 虛擬機器執行個體。
注意:如需瞭解詳情,可以透過其他實驗室建立虛擬機器執行個體,或參閱 Compute Engine 說明文件。
- 在 Cloud Shell 指令列,使用
gcloud 指令建立名為 gcelab 的新虛擬機器執行個體:
gcloud compute instances create gcelab --zone $ZONE --machine-type e2-standard-2
輸出內容範例:
Created [...].
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
gcelab {{{project_0.default_zone | Zone}}} e2-standard-2 10.240.X.X X.X.X.X RUNNING
新的虛擬機器執行個體建立完成後,預設會有一個 10 GB 的永久磁碟,並用做開機磁碟。
點選「Check my progress」確認目標已達成。
在指定可用區建立新執行個體。
工作 2:建立新永久磁碟
注意:由於這個磁碟要連接到上一步建立的虛擬機器執行個體,因此可用區必須與該執行個體相同。
- 在 Cloud Shell 指令列中,使用下列指令建立名為
mydisk 的新磁碟:
gcloud compute disks create mydisk --size=200GB \
--zone $ZONE
輸出內容:
NAME ZONE SIZE_GB TYPE STATUS
mydisk {{{project_0.default_zone | Zone}}} 200 pd-standard READY
點選「Check my progress」確認目標已達成。
在指定的可用區建立新永久磁碟
工作 3:連接磁碟
連接永久磁碟
您可以將磁碟連接至執行中的虛擬機器。請將新磁碟 (mydisk) 連接至剛建立的虛擬機器執行個體 (gcelab)。
- 使用下列指令連接磁碟:
gcloud compute instances attach-disk gcelab --disk mydisk --zone $ZONE
輸出內容:
Updated [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-d12e3215bb368ac5/zones/{{{project_0.default_zone | Zone}}}/instances/gcelab].
這樣就完成了!
找出虛擬機器中的永久磁碟
永久磁碟已準備完成,可在虛擬機器執行個體中做為區塊裝置使用,一起來看看吧!
- 透過 SSH 連線至虛擬機器:
gcloud compute ssh gcelab --zone $ZONE
輸出內容:
WARNING: The public SSH key file for gcloud does not exist.
WARNING: The private SSH key file for gcloud does not exist.
WARNING: You do not have an SSH key for gcloud.
WARNING: SSH keygen will be executed to generate a key.
This tool needs to create the directory
[/home/gcpstaging8246_student/.ssh] before being able to generate SSH
keys.
Do you want to continue (Y/n)? y
- 出現提示時,輸入 Y 以繼續操作。
- 系統提示您輸入 RSA 金鑰組通關密語時,直接按 Enter 鍵跳過,接著再按一次 Enter 鍵,確認不設定通關密語。
輸出內容:
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/gcpstaging8246_student/.ssh/google_compute_en
gine.
Your public key has been saved in /home/gcpstaging8246_student/.ssh/google_compute_engine
.pub.
The key fingerprint is:
6c:04:bf:29:95:0d:93:bc:fe:00:2c:85:86:f8:7a:53 gcpstaging8246_student@cs-6000-devshell-v
m-dbb9559d-4412-4801-ad8c-bdaf885541a9
The key's randomart image is:
+---[RSA 2048]----+
| . . ...o. |
|. . o .oo= |
| . . o =.. |
| . E o+.o |
| . . ..oS |
|. o oo |
| . . o |
| . |
| |
+-----------------+
Updating project ssh metadata...\Updated [https://www.googleapis.com/compute/v1/projects/
qwiklabs-gcp-d12e3215bb368ac5].
Updating project ssh metadata...done.
Waiting for SSH key to propagate.
Warning: Permanently added 'compute.7714273689800906026' (ECDSA) to the list of known hosts.
Linux gcelab 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
- 接著列出
/dev/disk/by-id/ 中的磁碟裝置,找出該磁碟裝置:
ls -l /dev/disk/by-id/
輸出內容:
lrwxrwxrwx 1 root root 9 Feb 27 02:24 google-persistent-disk-0 -> ../../sda
lrwxrwxrwx 1 root root 10 Feb 27 02:24 google-persistent-disk-0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 9 Feb 27 02:25 google-persistent-disk-1 -> ../../sdb
lrwxrwxrwx 1 root root 9 Feb 27 02:24 scsi-0Google_PersistentDisk_persistent-disk-0 -> ../../sda
lrwxrwxrwx 1 root root 10 Feb 27 02:24 scsi-0Google_PersistentDisk_persistent-disk-0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 9 Feb 27 02:25 scsi-0Google_PersistentDisk_persistent-disk-1 -> ../../sdb
您已找到該檔案,預設名稱為:
scsi-0Google_PersistentDisk_persistent-disk-1。
注意:如要使用其他裝置名稱,請在連接磁碟時指定 device-name 參數。例如在連接磁碟時,使用下列指令指定裝置名稱:
gcloud compute instances attach-disk gcelab --disk mydisk --device-name <YOUR_DEVICE_NAME> --zone $ZONE
格式化及掛接永久磁碟
找到區塊裝置後,可以使用下列 Linux 公用程式,將磁碟分區、格式化,然後再掛接:
-
mkfs:建立檔案系統
-
mount:連接至檔案系統
- 建立掛接點:
sudo mkdir /mnt/mydisk
- 接著使用 mkfs 工具,將磁碟格式化為單一
ext4 檔案系統。這個指令會刪除指定磁碟中所有資料:
sudo mkfs.ext4 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/disk/by-id/scsi-0Google_PersistentDisk_persistent-disk-1
輸出內容的最後幾行:
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
- 接著使用 mount 工具,將磁碟掛接至執行個體,並啟用
discard 選項:
sudo mount -o discard,defaults /dev/disk/by-id/scsi-0Google_PersistentDisk_persistent-disk-1 /mnt/mydisk
這樣就完成了!
重新啟動時自動掛接磁碟
虛擬機器重新啟動後,預設不會重新掛接磁碟。為確保系統重啟時會重新掛接磁碟,請在 /etc/fstab 新增設定項目。
- 在 nano 中開啟
/etc/fstab 以編輯內容:
sudo nano /etc/fstab
- 在開頭為「UUID=…」的那一行下方,加入以下內容:
/dev/disk/by-id/scsi-0Google_PersistentDisk_persistent-disk-1 /mnt/mydisk ext4 defaults 1 1
/etc/fstab 內容應如下所示:
# /etc/fstab: static file system information
UUID=12adc097-f36f-46f9-b377-b2a30cdf422f / ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1
UUID=3A31-89F9 /boot/efi vfat defaults 0 0
/dev/disk/by-id/scsi-0Google_PersistentDisk_persistent-disk-1 /mnt/mydisk ext4 defaults 1 1
- 依序按下 CTRL+O、Enter 鍵和 CTRL+X,儲存檔案並退出 nano。
點選「Check my progress」確認目標已達成。
連接及掛接永久磁碟。
工作 4:學以致用
接受測驗,測試您對 Google Cloud Platform 瞭解多少。
以下是將永久磁碟的資料遷移至其他區域的步驟,請按照執行順序重新排列:
- 連接磁碟
- 建立磁碟
- 建立快照
- 建立執行個體
- 卸載檔案系統
工作 5:本機 SSD
Compute Engine 也能連接本機 SSD。本機 SSD 是實體儲存空間,掛接到虛擬機器執行個體後,會直接安裝到託管該執行個體的伺服器上。相較於永久磁碟,這種緊耦合機制能提供卓越效能:每秒輸入/輸出作業數 (IOPS) 極高、延遲時間極短。
本機 SSD 的效能:
- 延遲時間不到 1 毫秒
- 讀取 IOPS 最高可達 680,000,寫入 IOPS 則為 360,000
不過要達到上述的效能提升,在可用性、耐用性和靈活性方面就必須有所取捨。正因如此,本機 SSD 儲存空間並不會自動複製,如果主機發生錯誤,或因使用者設定有誤導致磁碟無法連上,所有資料可能都會遺失,所以必須採取額外的預防措施來備份資料。
本機 SSD 不在本實驗室的涵蓋範圍內。
- 如要提高本機 SSD 的效能,需使用支援 NVMe 的特殊 Linux 映像檔。您可以參閱這份說明文件,進一步瞭解本機 SSD。
恭喜!
您已瞭解如何建立、找出永久磁碟,並連接至虛擬機器執行個體,也學習了永久磁碟與本機 SSD 的主要差異。您可以使用永久磁碟來架設及設定資料庫伺服器。
後續步驟/瞭解詳情
Google Cloud 教育訓練與認證
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2024 年 1 月 15 日
實驗室上次測試日期:2024 年 1 月 15 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。