Chuyên mục
Linux Virtualization

Thiết lập Block Volume trên Oracle Cloud

Trong các bài viết về chương trình Always Free Tier của Oracle Cloud trước đây, mình đã giới thiệu về cách thức thiết lập VPS miễn phí trọn đời mà bạn có thể sử dụng cho AdGuard Home, Pi-Hole hoặc WireGuard VPN. Bên cạnh đó, có một ưu đãi hấp dẫn khác mà ít người chú ý là Oracle Cloud còn cung cấp 200GB lưu trữ miễn phí.

Mặc định mỗi VPS tạo ra trên hệ thống Oracle Cloud sẽ dùng 1 Boot Volume có dung lượng 50GB. Nếu bạn chỉ sử dụng 1 VPS duy nhất, có thể tận dụng 150GB còn lại của chương trình miễn phí để lưu trữ dữ liệu.

Dưới đây là các thiết lập Block Volume và kết nối vào VPS để bạn có thể tận dụng toàn bộ 200GB lưu trữ miễn phí của Oracle Cloud.

Tạo Block Volume

Đăng nhập vào tài khoản Oracle Cloud của bạn và truy cập vào Menu ở góc trái, chọn Storage -> Block Volumes

Bấm vào nút Create Block Volume để tạo phân vùng lưu trữ mới

Dung lượng mặc định của Block Volume là 50GB. Bạn có thể chọn Custom và nhập vào dung lượng (GB) theo ý muốn.

Nếu bạn nhập số quá lớn, vượt hạn mức miễn phí, hệ thống sẽ thông báo cần phải nâng cấp tài khoản trả phí.

Mình đang dùng 2 VPS trên hệ thống, nên chỉ còn có 100 GB miễn phí. Do đó, mình chọn kích thước là 100GB, đặt tên: Storage. Các mục còn lại để mặc định và bấm Create Block Volume.

Chờ vài phút, Block Volume đã sẵn sàng phục vụ.

Kết nối Block Volume vào VPS

Ngay trong trang Block Volume vừa tạo, kéo xuống duối và bấm vào mục Attached Instances

Chọn tiếp Attach to Instance.

Chọn các thông số như sau:

  • Attachment type: Paravirtualized
  • Access Type: Read/Write
  • Instance: chọn VPS bạn muốn kết nối vào Block Volume này.

Bấm Attach để xác nhận.

Chờ vài phút, hệ thống sẽ thông báo kết nối thành công: mục State hiển thị Attached.

Tạo phân vùng ổ đĩa

Sau khi kết nối Block Volume thành công vào VPS, nó sẽ hiển thị như là 1 ổ đĩa cứng mới trên hệ thống.

Kiểm tra bằng lệnh lsblk

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0   49M  1 loop /snap/core18/2252
loop1     7:1    0 60.7M  1 loop /snap/lxd/21843
loop2     7:2    0 57.5M  1 loop /snap/core20/1380
loop4     7:4    0 57.5M  1 loop /snap/core20/1360
loop5     7:5    0 61.2M  1 loop /snap/lxd/22530
loop6     7:6    0 20.7M  1 loop /snap/oracle-cloud-agent/32
loop8     7:8    0   49M  1 loop /snap/core18/2289
loop9     7:9    0 20.7M  1 loop /snap/oracle-cloud-agent/31
loop11    7:11   0 37.7M  1 loop /snap/snapd/14982
sda       8:0    0 46.6G  0 disk
├─sda1    8:1    0 46.5G  0 part /
└─sda15   8:15   0   99M  0 part /boot/efi
sdc       8:32   0  100G  0 disk

Hệ thống xuất hiện thêm 1 ổ đĩa với mã sdc.

Mình sẽ sử dụng gdisk để tạo phân vùng cho ổ đĩa mới này

gdisk /dev/sdc

Sau đó lần lượt chọn các lệnh o, n, w để tạo phân vùng Linux mới.

sudo gdisk /dev/sdc
GPT fdisk (gdisk) version 1.0.5

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries in memory.

Command (? for help): ?
b       back up GPT data to a file
c       change a partition's name
d       delete a partition
i       show detailed information on a partition
l       list known partition types
n       add a new partition
o       create a new empty GUID partition table (GPT)
p       print the partition table
q       quit without saving changes
r       recovery and transformation options (experts only)
s       sort partitions
t       change a partition's type code
v       verify disk
w       write table to disk and exit
x       extra functionality (experts only)
?       print this menu

Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): Y

Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-209715166, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-209715166, default = 209715166) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.

Tiếp theo, format phân vùng thành chuẩn ext4

sudo mkfs -t ext4 /dev/sdc1

Đợi vài giây là xong

mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 26214139 4k blocks and 6553600 inodes
Filesystem UUID: aca9ad65-3411-41da-8e9e-0006563a657b
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done
Writing inode tables: done
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done

Kiểm tra lại bằng lệnh lsblk, giờ đã thấy xuất hiện phân vùng sdc1

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0   49M  1 loop /snap/core18/2252
loop1     7:1    0 60.7M  1 loop /snap/lxd/21843
loop2     7:2    0 57.5M  1 loop /snap/core20/1380
loop4     7:4    0 57.5M  1 loop /snap/core20/1360
loop5     7:5    0 61.2M  1 loop /snap/lxd/22530
loop6     7:6    0 20.7M  1 loop /snap/oracle-cloud-agent/32
loop8     7:8    0   49M  1 loop /snap/core18/2289
loop9     7:9    0 20.7M  1 loop /snap/oracle-cloud-agent/31
loop11    7:11   0 37.7M  1 loop /snap/snapd/14982
sda       8:0    0 46.6G  0 disk
├─sda1    8:1    0 46.5G  0 part /
└─sda15   8:15   0   99M  0 part /boot/efi
sdc       8:32   0  100G  0 disk
└─sdc1    8:33   0  100G  0 part

Mount phân vùng vào Linux

Tạo thư mục mới và mount phân vùng sdc1 vào thư mục này

sudo mkdir /media/storage
sudo mount /dev/sdc1 /media/storage

Check lại bằng lsblk

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0   49M  1 loop /snap/core18/2252
loop1     7:1    0 60.7M  1 loop /snap/lxd/21843
loop2     7:2    0 57.5M  1 loop /snap/core20/1380
loop4     7:4    0 57.5M  1 loop /snap/core20/1360
loop5     7:5    0 61.2M  1 loop /snap/lxd/22530
loop6     7:6    0 20.7M  1 loop /snap/oracle-cloud-agent/32
loop8     7:8    0   49M  1 loop /snap/core18/2289
loop9     7:9    0 20.7M  1 loop /snap/oracle-cloud-agent/31
loop11    7:11   0 37.7M  1 loop /snap/snapd/14982
sda       8:0    0 46.6G  0 disk
├─sda1    8:1    0 46.5G  0 part /
└─sda15   8:15   0   99M  0 part /boot/efi
sdc       8:32   0  100G  0 disk
└─sdc1    8:33   0  100G  0 part /media/storage

Để Linux tự động mount phân vùng mỗi khi khởi động lại, mình chỉnh sửa file fstab

sudo nano /etc/fstab

Thêm dòng sau vào dưới cùng và lưu lại. Chú ý cần phải thay đổi /dev/sdc1 thành mã phân vùng tương ứng trên VPS của bạn.

/dev/sdc1       /meida/storage ext4    defaults        0       0

Vậy là xong. Giờ mình đã có thêm 100 GB miễn phí trên VPS cũng miễn phí của để lưu trữ dữ liệu.

Chú ý: bạn không nên lưu thông tin, dữ liệu quan trọng trên VPS miễn phí của Oracle Cloud. Vì là hàng miễn phí nên có thể bị khoá tài khoản, hư hỏng bất cứ lúc nào. Chỉ nên dùng để vọc vạch cho vui, mất không tiếc.