讓 Amazon EBS 磁碟區可供使用 - Amazon EBS

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

讓 Amazon EBS 磁碟區可供使用

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

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

如果您準備使用的 EBS 磁碟區大於 2 TiB,您必須使用 GPT 分割方案來存取整個磁碟區。如需詳細資訊,請參閱Amazon EBS 磁碟區限制

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

假設您有一個 EC2 執行個體,其具有根裝置的 EBS 磁碟區,/dev/xvda且您剛使用 將空的 EBS 磁碟區連接至執行個體/dev/sdf。請使用下列步驟讓新連接的磁碟區可供使用。

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

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

    以下是在 Nitro 系統上建置之執行個體的範例輸出,其公開 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 欄會顯示每個裝置的檔案系統類型。如果特定裝置的欄位空白,表示該裝置不具有檔案系統。在此情況下,裝置上的裝置nvme1n1和分割區nvme0n1p1nvme0n1都是使用 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/etc/fstab但我們建議您改用裝置的 128 位元通用唯一識別碼 (UUID)。裝置名稱可能會變更,但 UUID 會在分割區的整個生命週期中持續存在。透過使用 UUID,您可以降低硬體重新設定後系統無法開機的機會。如需詳細資訊,請參閱將 Amazon EBS 磁碟區對應至 NVMe 裝置名稱

若要在重新開機後自動掛載連接的磁碟區
  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 手冊。

    在下列範例中,我們使用 UUID 掛載裝置aebf131c-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 執行個體。如需詳細資訊,請參閱連線至 Windows 執行個體

  2. 在任務列上,開啟開始選單,然後選擇 Windows PowerShell

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

    1. 停止 ShellHWDetection 服務。

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

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

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

    5. 將檔案系統格式化為具有指定檔案系統標籤的 NTFS。

    6. 再次啟動 ShellHWDetection 服務。

    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 執行個體。如需詳細資訊,請參閱連線至 Windows 執行個體

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

    1. 開啟開始功能表,然後選取 Windows 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 執行個體。如需詳細資訊,請參閱連線至 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 (新增簡易磁碟區) 精靈。

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