使 Amazon EBS 卷可供使用 - Amazon EBS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使 Amazon EBS 卷可供使用

將 Amazon EBS 磁碟區連接到執行個體後,它會以區塊裝置的形式公開。您可將此磁碟區格式化成任何檔案系統,然後掛載它。將EBS磁碟區設為可供使用之後,您可以使用與存取任何其他磁碟區相同的方式來存取該磁碟區。任何寫入此檔案系統的資料都會寫入EBS磁碟區,而且對使用該裝置的應用程式而言是透明的。

您可以拍攝EBS磁碟區的快照作為備份用途,或在建立另一個磁碟區時用作基準。如需詳細資訊,請參閱Amazon EBS 快照

如果您準備使用的EBS磁碟區大於 2 TiB,您必須使用磁碟GPT分割配置來存取整個磁碟區。如需詳細資訊,請參閱對EBS磁碟區大小和組態的限制

格式化和掛載連接的磁碟區

假設您有一個EC2實例,其中包含根設備的EBS卷/dev/xvda,並且您剛剛使用將空EBS卷附加到實例/dev/sdf。請使用下列步驟讓新連接的磁碟區可供使用。

若要在 Linux 上格式化和掛接EBS磁碟區
  1. 使用 Connect 至您的執行個體SSH。如需詳細資訊,請參閱 Connect 到 Linux 執行個體

  2. 裝置可能可以使用和您在區塊型設備映射中指定的不同裝置名稱來連接至執行個體。如需詳細資訊,請參閱 Linux 執行個體上的裝置名稱。使用 lsblk 命令檢視您可用的磁碟裝置及其掛載點 (如適用),以利判斷要使用的正確裝置名稱。lsblk 的輸出會移除完整裝置路徑的 /dev/ 前綴。

    以下是 Nitro System 上建置的執行個體的範例輸出,該執行個體會將EBS磁碟區公開為區NVMe塊裝置。根設備是 /dev/nvme0n1,其中有兩個名為 nvme0n1p1nvme0n1p128。連接的磁碟區是沒有分割區且尚未掛載的 /dev/nvme1n1

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 10G 0 disk nvme0n1 259:1 0 8G 0 disk -nvme0n1p1 259:2 0 8G 0 part / -nvme0n1p128 259:3 0 1M 0 part

    以下是 T2 執行個體的範例輸出。根設備是 /dev/xvda,其中有一個名為 xvda1 的分割區。連接的磁碟區是沒有分割區且尚未掛載的 /dev/xvdf

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk -xvda1 202:1 0 8G 0 part / xvdf 202:80 0 10G 0 disk
  3. 判斷磁碟區上是否有檔案系統。新磁碟區是原始的區塊型儲存設備,您必須先在這些磁碟區上建立檔案系統,才能掛載和使用它們。從快照建立的磁碟區上可能已有檔案系統,如果您在現有的檔案系統上建立新的檔案系統,此操作會覆寫您的資料。

    使用下列其中一個或兩個方法來判斷磁碟區上是否具有檔案系統:

    • 使用 file -s 命令取得有關特定裝置的資訊,例如:檔案系統類型。如果輸出如以下範例輸出所示,只顯示 data,則表示此裝置上不具有檔案系統。

      [ec2-user ~]$ sudo file -s /dev/xvdf /dev/xvdf: data

      如果裝置有檔案系統,此命令則會顯示與檔案系統類型相關的資訊。例如,下列輸出顯示具有XFS檔案系統的根裝置。

      [ec2-user ~]$ sudo file -s /dev/xvda1 /dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
    • 使用 lsblk -f 命令以取得連接至執行個體的所有裝置的相關資訊。

      [ec2-user ~]$ sudo lsblk -f

      例如:下列輸出顯示有三個裝置連接到執行個體 —、nvme1n1nvme0n1nvme2n1。第一欄會列出裝置及其磁碟分割區。第 FSTYPE 欄會顯示每個裝置的檔案系統類型。如果特定裝置的欄位空白,表示該裝置不具有檔案系統。在這種情況下,設備nvme0n1p1上的設備nvme1n1和分區nvme0n1都使用XFS文件系統進行格式化,而設備nvme0n1p128上的設備nvme2n1和分區nvme0n1沒有文件系統。

      NAME FSTYPE LABEL UUID MOUNTPOINT nvme1n1 xfs 7f939f28-6dcc-4315-8c42-6806080b94dd nvme0n1 ├─nvme0n1p1 xfs / 90e29211-2de8-4967-b0fb-16f51a6e464c / └─nvme0n1p128 nvme2n1

    如果這些命令的輸出顯示裝置上不具有檔案系統,則您必須建立一個檔案系統。

  4. (有條件) 如果您在前一個步驟中發現裝置上有檔案系統,請略過此步驟。如果您有空的磁碟區,請使用 mkfs -t 命令在磁碟區上建立檔案系統。

    警告

    如果您要掛載的磁碟區已有資料 (例如,從快照建立的磁碟區),請不要使用此命令。否則,您會格式化磁碟區並刪除現有的資料。

    [ec2-user ~]$ sudo mkfs -t xfs /dev/xvdf

    如果您收到找不到mkfs.xfs的錯誤,請使用以下命令安裝XFS工具,然後重複上一個命令:

    [ec2-user ~]$ sudo yum install xfsprogs
  5. 使用 mkdir 命令建立磁碟區的掛載點目錄。掛載點是磁碟區在檔案系統樹狀目錄中的位置,也是您在掛載磁碟區後讀取和寫入檔案的位置。下列範例會建立名為 /data 的目錄。

    [ec2-user ~]$ sudo mkdir /data
  6. 在上一步建立的掛載點目錄中安裝磁碟區或分割區。

    如果磁碟區沒有分割區,則請使用以下命令並指定要掛載整個磁碟區的裝置名稱。

    [ec2-user ~]$ sudo mount /dev/xvdf /data

    如果磁碟區有分割區,請使用以下命令並指定要掛載分割區的分割區名稱。

    [ec2-user ~]$ sudo mount /dev/xvdf1 /data
  7. 檢閱新磁碟區掛載的檔案許可,以確定您的使用者和應用程式可寫入此磁碟區。如需檔案許可的詳細資訊,請參閱 Linux 文件專案檔案安全性

  8. 執行個體重新開機後,不會自動保留掛載點。若要在重新開機後自動掛載此EBS磁碟區,請遵循下一個程序。

在重新開機後自動掛載連接的磁碟區

若要在每次系統重新啟動時掛載連接的EBS磁碟區,請將該裝置的項目新增至/etc/fstab檔案。

您可以使用裝置名稱,例如/dev/xvdf,in/etc/fstab,但我們建議改用裝置的 128 位元通用唯一識別碼 (UUID)。設備名稱可能會更改,但在分區的整個生命週期中UUID仍然存在。透過使用UUID,可以減少硬體重新設定後系統變得無法開機的機會。如需詳細資訊,請參閱識別裝EBS置

若要在重新開機後自動掛載連接的磁碟區
  1. (選用) 建立 /etc/fstab 檔案的備份,如果在編輯檔案時不小心損毀或刪除此檔案,即可使用檔案的備份。

    [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
  2. 使用blkid指令尋找裝置UUID的。記下UUID您要在重新開機後掛載的裝置。您將在下面的步驟中需要它。

    例如,下列指令顯示有兩個裝置掛載至執行個體,並顯示兩個裝置的UUIDs裝置。

    [ec2-user ~]$ sudo blkid /dev/xvda1: LABEL="/" UUID="ca774df7-756d-4261-a3f1-76038323e572" TYPE="xfs" PARTLABEL="Linux" PARTUUID="02dcd367-e87c-4f2e-9a72-a3cf8f299c10" /dev/xvdf: UUID="aebf131c-6957-451e-8d34-ec978d9581ae" TYPE="xfs"

    對於 Ubuntu 18.04,請使用 lsblk 命令。

    [ec2-user ~]$ sudo lsblk -o +UUID
  3. 使用任何文字編輯器 (例如 /etc/fstabnano) 開啟 vim 檔案。

    [ec2-user ~]$ sudo vim /etc/fstab
  4. 若要於指定的掛載點上掛載裝置,請在 /etc/fstab 中加入下列項目。這些欄位是由 blkid (或lsblk針對 Ubuntu 18.04) 傳回的UUID值、掛載點、檔案系統以及建議的檔案系統掛載選項。如需有關必要欄位的詳細資訊,請執行 man fstab 以開啟 fstab 手冊。

    在下面的例子中,我們掛載設備與UUIDaebf131c-6957-451e-8d34-ec978d9581ae掛載點/data,我們使用的xfs文件系統。我們也使用 defaultsnofail 標記。指定 0 以防止檔案系統被傾印,並指定 2,指出其為非根裝置。

    UUID=aebf131c-6957-451e-8d34-ec978d9581ae /data xfs defaults,nofail 0 2
    注意

    如果曾在不掛載此磁碟區的狀態下開機執行個體 (例如,在將磁碟區移至其他執行個體後),nofail 掛載選項可讓執行個體繼續開機,即使在掛載磁碟區的作業出現錯誤。包括 16.04 前之 Ubuntu 版本在內的 Debian 衍生產品,也必須新增 nobootwait 掛載選項。

  5. 若要驗證您的項目是否能夠運作,請執行下列命令來卸載裝置,然後在 /etc/fstab 中掛載所有檔案系統。如果未發生錯誤,則 /etc/fstab 檔案沒有問題,檔案系統將會在重新啟動時自動掛載。

    [ec2-user ~]$ sudo umount /data [ec2-user ~]$ sudo mount -a

    如果您收到錯誤訊息,請處理檔案中的錯誤。

    警告

    /etc/fstab 檔案中的錯誤可能會造成系統無法開機。如果是在 /etc/fstab 檔案中具有錯誤的系統,請勿將此系統關機。

    如果您不確定要如何修正 /etc/fstab 中的錯誤,且您已在此程序的第一個步驟中建立備份檔案,您可以隨時使用下列命令,從備份檔案還原。

    [ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab

使用下列其中一種方法,在 Windows 執行個體上提供磁碟區。

PowerShell
若要讓具有原始分割區的所有EBS磁碟區都可以與 Windows 搭配使用 PowerShell
  1. 使用遠端桌面登入 Windows 執行個體。如需詳細資訊,請參閱 Connect 到您的 Windows 執行個體

  2. 在工作列上,開啟 [開始] 功能表,然後選擇 [Windows] PowerShell。

  3. 在打開的提示符中使用提供的一系列 Windows PowerShell 命 PowerShell 令。依預設,指令碼會執行下列動作:

    1. 停止 S hellHWDetection 服務。

    2. 列舉採用原始分割區樣式的磁碟。

    3. 建立一個跨越磁碟和分割區類型可支援的上限的新分割區。

    4. 指派可用的磁碟機代號。

    5. NTFS使用指定的檔案系統標籤來格式化檔案系統。

    6. 再次啟動 S hellHWDetection 服務。

    Stop-Service -Name ShellHWDetection Get-Disk | Where PartitionStyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "Volume Label" -Confirm:$false Start-Service -Name ShellHWDetection
DiskPart command line tool
使EBS體積塊可與 DiskPart 指令行工具一起使用的步驟
  1. 使用遠端桌面登入 Windows 執行個體。如需詳細資訊,請參閱 Connect 到您的 Windows 執行個體

  2. 確定要使其可用的磁碟編號:

    1. 開啟 [開始] 功能表,然後選取 [視窗] PowerShell。

    2. 使用 Get-Disk Cmdlet 以擷取可用磁碟的清單。

    3. 在命令輸出中,記下對應於您要使其可用的磁碟 Number (編號)。

  3. 創建一個腳本文件來執行 DiskPart 命令:

    1. 開啟 Start (開始) 選單,然後選取 File Explorer (檔案總管)。

    2. 導覽至目錄 (如 C:\) 以儲存指令碼檔案。

    3. 選擇資料夾中的空白區域或按一下滑鼠右鍵以開啟對話框,將游標置於 New (新增) 以存取內容功能表,然後選擇 Text Document (文字文件)。

    4. 儲存文字檔案 diskpart.txt

  4. 將下列命令新增至指令碼檔案。您可能需要修改磁碟編號、分割區類型、磁碟區標籤和磁碟機代號。依預設,指令碼會執行下列動作:

    1. 選取磁碟 1 進行修改。

    2. 設定磁碟區以使用主開機記錄 (MBR) 磁碟分割結構。

    3. 將磁碟區格式化為NTFS磁碟區。

    4. 設定磁碟區標籤。

    5. 為磁碟區指派一個磁碟機代號。

    警告

    如果您要掛載的磁碟區內已有資料,請不要重新格式化磁碟區,否則會刪除現有的資料。

    select disk 1 attributes disk clear readonly online disk noerr convert mbr create partition primary format quick fs=ntfs label="volume_label" assign letter="drive_letter"

    如需詳細資訊,請參閱DiskPart 語法和參數

  5. 開啟命令提示字元,導覽至指令碼所在的資料夾,然後執行下列命令,以使磁碟區可在指定磁碟上使用:

    C:\> diskpart /s diskpart.txt
Disk Management utility
若要讓磁EBS碟區可與磁碟管理公用程式搭配使用
  1. 使用遠端桌面登入 Windows 執行個體。如需詳細資訊,請參閱 Connect 到您的 Windows 執行個體

  2. 啟動磁碟管理公用程式。在任務列上開啟 Windows 標誌的內容 (按右鍵) 選單,然後選擇 Disk Management (磁碟管理)。

    注意

    在 Windows Server 2008 中,依序選擇 Start (開始)、Administrative Tools (管理工具)、Computer Management (電腦管理)、Disk Management (磁碟管理)。

  3. 將磁碟區上線。在下方窗格中,開啟磁碟EBS區磁碟左側面板的內容 (按一下滑鼠右鍵) 功能表。選擇 Online (線上)

    將磁碟區上線。
  4. (條件) 如果磁碟沒有初始化,您必須先初始化才能使用。如果磁碟已初始化,請跳過此步驟。

    警告

    如果您要掛載的磁碟區已有資料 (例如,公用資料集或從快照建立的磁碟區),請不要重新格式化磁碟區,否則您會刪除現有的資料。

    如果磁碟尚未初始化,請依下列指示進行初始化:

    1. 開啟左面板的內容 (按右鍵) 選單取得磁碟,然後選擇 Initialize Disk (初始化磁碟)。

      初始化磁碟區。
    2. Initialize Disk (初始化磁碟) 對話方塊中,選取分割區樣式,然後選取 OK (確定)。

      初始化磁碟區設定。
  5. 開啟右面板的內容 (按右鍵) 選單取得磁碟,然後選擇 New Simple Volume (新增簡易磁碟區)。

    掛載簡易磁碟區。
  6. New Simple Volume Wizard (新增簡單磁碟區精靈) 中,選擇 Next (下一步)。

    開始 New Simple Volume Wizard (新增簡易磁碟區精靈)。
  7. 如果要變更預設最大值,請指定 Simple volume size in MB (簡單磁碟區大小 (MB)),然後選擇 Next (下一步)。

    指定磁碟區大小。
  8. Assign the following drive letter (指定下列磁碟機代號) 下拉式選單中指定偏好的磁碟機代號 (如有必要),然後選擇 Next (下一步)。

    指定磁碟機代號。
  9. 指定 Volume Label (磁碟區標籤) 並根據需要調整預設設定,然後選擇 Next (下一步)。

    指定設定以格式化磁碟區。
  10. 檢查您的設定,然後選擇 Finish (完成) 以套用修改,並關閉 New Simple Volume (新增簡易磁碟區) 精靈。

    檢閱您的設定並完成精靈引導的步驟。