Các thao tác với Amazon Elastic Block Store (AWS EBS) [Tạo/Attach/Detach/Snapshot/Restore/Modify]

Tạo EBS, Attach EBS, Detach EBS

Chúng ta có 2 cách để tạo EBS Volume:

  • Tạo EBS Volume khi đang tạo Instance
  • Tạo Volume trước sau đó sẽ attach vào Instance

Chúng ta sẽ tìm hiểu bước tạo EBS trước rồi attach vào Instance

Step 1: Vào trong Console của dịch vụ EC2, bên tay trái có mục Elastic Block Store > nhấn Volumes > Create Volume

Tại bước Create Volume, điền và chọn các thông tin cần thiết

  • Volume Type: chọn loại EBS Volume bạn muốn sử dụng: General Purpose SSD, Provisioned IOPS SSD, Cold HDD, Throughput Optimized HDD, Magnetic.
  • Size: dung lượng cho EBS Volume, tính trên đơn vị GiB
  • IOPS: AWS sẽ tự động optimized IOPS, chỉ dành cho SSD
  • Availability Zone: chọn AZ mà EBS này nằm trong đó
  • Throughput: AWS sẽ tự động optimized Throughput, chỉ dành cho HDD
  • Snapshot ID: dành cho bạn tạo EBS từ một EBS Snapshot
  • Encryption: chọn nếu bạn muốn mã hóa EBS Volume
  • Add Tag: điền Key / Value

Step 2: Sau khi hoàn thành cấu hình EBS Volume > Create Volume

Attach và Detach EBS Volume cho Linux Instance

Step 1: Sau khi hoàn tất tạo EBS Volume, chúng ta sẽ attach EBS Volume vào Instance, chọn Volume cần attach > nhấn Actions > Attach Volume

Step 2: Chọn Instance mà bạn muốn attach Volume vào > đặt tên cho Volume > Attach

Step 3: Connect tới Instance, ở đây mình sử dụng Linux, kiểm tra Volume mới đã được attach

Step 1: Khi bạn muốn detach một EBS Volume ra khỏi Instance, việc đầu tiên là phải shutdown Instance, chọn Volume bạn muốn detach > Actions > Detach Volume

Step 2: Connect tới Instance, ở đây mình sử dụng Linux, kiểm tra Volume mới đã được detach

Attach và Detach EBS Volume cho Windows Instance

Step 1: Sau khi hoàn tất tạo EBS Volume, chúng ta sẽ attach EBS Volume vào Instance, chọn Volume cần attach > nhấn Actions > Attach Volume

Step 2: Chọn Instance mà bạn muốn attach Volume vào > đặt tên cho Volume > Attach

Step 3: Connect tới Instance, ở đây mình sử dụng Windows, kiểm tra Volume mới 30 GB đã được attach

Step 1: Khi bạn muốn detach một EBS Volume ra khỏi Instance, việc đầu tiên là phải shutdown Instance, chọn Volume bạn muốn detach > Actions > Detach Volume

Step 2: Connect tới Instance, ở đây mình sử dụng Linux, kiểm tra Volume mới đã được detach

Ghi Chú:

  • Đối với Attach Volume, bạn không cần phải shutdown Instance
  • Đối với Detach Volume, bạn phải shutdown Instance

Thay đổi dung lượng của EBS

Trước khi vào việc demo, mình nhấn mạnh bạn chỉ có thể tăng dung lượng, không thể giảm dung lượng

Step 1: Tại EBS Volumes Console, chọn Volume bạn muốn mở rộng > Actions > Modify Volume

Step 2: Cấu hình các mục: Volume Type (tại đây bạn có thể thay đổi kiểu của Volume đang sử dụng, tuy nhiên chỉ được thay đổi trong chung một family SSD hoặc HDD), Size (tùy chỉnh mở rộng dung lượng) > Modify

Kết nối tới Linux Instance để kiểm tra dung lượng được mở rộng

Step 1: Sau khi kết nối tới Linux Instance, bạn sử dụng câu lệnh lsblk để show phân vùng trên Linux > bạn có thể thấy được root volume đã được mở rộng lên 10 GB, tuy nhiên partition vẫn còn ở dung lượng cũ

Step 2: Vì thế, bạn phải mở rộng cho partition bằng câu lệnh:

sudo growpart /dev/xvda 1

Bạn có thể thấy partition đã được mở rộng lên 10 GB

Kết nối tới Windows Instance để kiểm tra dung lượng được mở rộng

Step 1: Vào Windows > chọn Disk management > bạn có thể thấy đã có 1 phân vùng 20 GB đã được thêm vào

Step 2: Nhấn chuột phải vào phân vùng đó chọn Extend Volume

Hoàn thành Extend Volume cho Windows

Tạo EBS Snapshot

Cách thức tạo Snapshot cho EBS Volume của Linux và Windows là tương tự nhau

Step 1: Tại EBS Snapshots Console, nhấn Create Snapshot

Create Snapshot có 2 loại:

  • Volume: chỉ tạo snapshot cho 1 volume được chọn (sử dụng khi bạn muốn backup 1 volume)
  • Instance: tạo snapshot cho toàn bộ Instance và toàn bộ Volume trong Instance đó (sử dụng khi bạn muốn backup toàn bộ instance)

Step 2: Ở đây chúng ta chọn:

  • Select resource type: Volume
  • Volume: chọn Volume cần tạo snapshot
  • Add tag: điền key/value

Step 3: Nhấn Create Snapshot

Hoàn thành tạo Snapshot cho EBS Volume

Restore volume từ EBS Snapshot

Việc Restore từ EBS Snapshot cho Linux Instance và Windows Instance là tương tự nhau. Ở đây chúng ta sẽ thực hiện trên Linux Instance

Step 1: Đầu tiên chúng ta sẽ tạo 1 folder tên longtb bằng lệnh

sudo mkdir longtb

Step 2: Sau đó chúng ta sẽ tạo 1 snapshot cho volume của Linux Instance. Bạn có thể mường tượng là tạo 1 bản backup cho volume đó.

Step 3: Sau đó chúng ta sẽ xóa folder longtb vừa tạo bằng lệnh

sudo rmdir longtb

Chúng ta sẽ tiến hành restore lại folder longtb bằng EBS Snapshot

Step 1: tạo 1 volume từ snapshot lúc nãy, tại EBS Volume Console > Create Volume > điền các thông tin để tạo Volume

  • Volume Type: chọn loại Volume (SSD hoặc HDD)
  • Size: tùy chỉnh dung lượng
  • Availability Zone: chọn AZ chung với AZ của Instance bạn muốn restore
  • Snapshot ID: chọn snapshot mà bạn muốn restore
  • Add Tag: điền key/value

Step 2: Sau đó nhấn Create Volume

Step 3: Sau khi hoàn tất tạo volume, ta sẽ attach volume đó vào Instance cần được restore. Ở đây chúng ta sẽ attach vào Linux Instance

Step 4: Sau khi attach vào Linux Instance, ta có thể thấy Volume đã được attach, tuy nhiên chưa được mount lên Linux Instance. Chúng ta tạo 1 folder tạm tên tempvol để có thể mount vào Linux Instance bằng lệnh

sudo mkdir tempvol

Step 5: Sau đó mount volume vào folder tạm tempvol bằng lệnh

sudo mount -o nouuid dev/xvdf1 /tempvol (dev/xvdf1 là volume mới được attach)

Có thể thấy folder tạm tempvol sẽ chứa volume được attach, trong đó có chưa folder longtb

Step 6: Sau đó chúng ta chỉ cần copy folder longtb từ tempvol đến nơi cần được restore. Ở đây ta sẽ copy folder longtb vào folder local bằng lệnh

cp -a /tempvol/longtb/ /local

Ta có thể thấy folder longtb đã được restore thành công

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s