使 Amazon EBS 卷可供使用 - Amazon EBS

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

使 Amazon EBS 卷可供使用

將 Amazon EBS 磁碟區連接到執行個體後,它會以區塊裝置的形式公開。您可將此磁碟區格式化成任何檔案系統,然後掛載它。使 EBS 磁碟區可供使用之後,您可如同存取任何其他磁碟區一樣存取它。所有寫入此檔案系統的資料都會寫入此 EBS 磁碟區,並對使用此裝置的應用程式完全公開。

您可建立您 EBS 磁碟區的快照供備份之用,或做為建立其他磁碟區的基準。如需更多詳細資訊,請參閱 Amazon EBS 快照

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

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

假設您有 EC2 執行個體 (其中包含根設備的 EBS 磁碟區)、/dev/xvda,以及您剛已使用 /dev/sdf 將空的 EBS 磁碟區連接至執行個體。請使用下列步驟讓新連接的磁碟區可供使用。

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

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

    以下是 N itro 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 欄會顯示每個裝置的檔案系統類型。如果特定裝置的欄位空白,表示該裝置不具有檔案系統。在這種情況下,設備 nvme1n1 和設備 nvme0n1 上的分割區 nvme0n1p1 都使用 XFS 檔案系統格式化,而設備 nvme2n1 和設備 nvme0n1 上的分割區 nvme0n1p128 沒有檔案系統。

      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 可降低系統在硬體重新設定後無法開機的機會。如需詳細資訊,請參閱 識別 EBS 裝置

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

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

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

    [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 (或 Ubuntu 18.04 則為 lsblk) 傳回的 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 執行個體。如需詳細資訊,請參閱 Connect 到您的 Windows 執行個體

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

  3. 在打開的提示符中使用提供的一系列 Windows PowerShell 命 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 執行個體。如需詳細資訊,請參閱 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 (新增簡易磁碟區) 精靈。

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