Bài viết thuộc series Azure
Giới thiệu
Trong bài này ta thực hành tạo Azure VM. Sau đó tạo Azure Disk riêng và gán vào VM đã tạo. Ta cùng xem một VM dùng nhiều Data Disk khác nhau như thế nào.
Tạo VM
Trong bài này ta dùng Azure CLI để tạo VM nhanh chóng, nếu bạn muốn tìm hiểu cách tạo VM bằng Azure Portal thì xem bài này: Exercise - Create a Azure VM. Chạy câu lệnh `azure vm create` để tạo VM với OS là Ubuntu 20:
az group create --name testresource -l westus2
# Create VM
az vm create \
--resource-group testresource \
--name support-web-vm01 \
--image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest \
--size Standard_DS1_v2 \
--admin-username azureuser \
--generate-ssh-keys
- Tạo VM với tên support-web-vm01
- Hệ điều hành Ubuntu 20
- VM size ta chọn Standard_DS1_v2 (1 vCPU - 3.5 GiB Memory)
- Tên username để ssh vào VM là azureuser
- Thuộc tính
--generate-ssh-keys
để tạo SSH Key đăng nhập vào VM
Đợi một vài phút để Azure tạo VM. Khi VM tạo xong ta nhận được kết quả như sau:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/680469d8-edB7-42ec-b118-cd80d51741e7/providers/Microsoft.Compute/virtualMachines/support-web-vm01",
"location": "eastus",
"macAddress": "00-0D-3A-10-63-0A",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "104.211.38.211",
"resourceGroup": "680469d8-edB7-42ec-b118-cd80d51741e7",
"zones": ""
}
Tạo Disk và gán vào VM
Truy cập Azure portal và tìm VM vừa tạo, ở mục Settings, ta bấm vào Disks.
Ở giao diện Disk mục OS disk ta sẽ thấy một ổ đĩa có sẵn được gán mặc định vào VM trong lúc ta tạo VM. Kiểm tra mục Data disks, đây là chỗ ta tạo Managed Disk mới và gán nó vào VM.
Bấm Create and attach a new disk, form điền thông tin của disk sẽ hiện ra. Ta điền thông tin như sau:
LUN | Disk name | Storage type | Size (GiB) | Encryption | Host caching |
0 | uploadDataDisk1 | Premium SSD | 64 | Mặc định | None |
Bấm Apply ở dưới cuối.
Partition
Để sử dụng disk mới ta cần thực hiện partition cho nó. Lấy địa chỉ IP của VM:
ipaddress=$(az vm show --resource-group testresource --name support-web-vm01 --show-details --query publicIps --output tsv)
Truy cập vào VM:
ssh azureuser@$ipaddress
Trong con VM ta gõ lsblk
:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 14G 0 disk
└─sdb1 8:17 0 14G 0 part /mnt
sr0 11:0 1 628K 0 rom
sdc 8:32 0 64G 0 disk
sda 8:0 0 30G 0 disk
└─sda1 8:1 0 30G 0 part /
Ta sẽ thấy có drive sdc 64G disk
, đây là ổ đĩa ta vừa tạo và gán nó vào VM. Ta sẽ dùng parted
để thực hiện partition:
sudo apt update
sudo apt install parted
Tạo tệp tin tên là add-data-disk.sh
trên con VM:
#!/bin/bash
# Partition the drive /dev/sdc.
# Read from standard input provide the options we want.
# n adds a new partition.
# p specifies the primary partition type.
# the following blank line accepts the default partition number.
# the following blank line accepts the default start sector.
# the following blank line accepts the default final sector.
# p prints the partition table.
# w writes the changes and exits.
sudo fdisk /dev/sdc <<EOF
n
p
p
w
EOF
# Write a file system to the partition.
# ext4 creates an ext4 filesystem.
# /dev/sdc1 is the device name.
sudo mkfs -t ext4 /dev/sdc1
# Create the /uploads directory, which we'll use as our mount point.
sudo mkdir /uploads
# Attach the disk to the mount point.
sudo mount /dev/sdc1 /uploads
# Get the UUID of the new drive, /dev/sdc1, and save it as a variable.
UUID=$(sudo -i blkid | grep '/dev/sdc1' | perl -pe 's/.+([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}).+/$1/')
# Add the UUID to /etc/fstab so that the drive is mounted automatically after reboot.
# We use the UUID instead of the device name (/dev/sdc1) because the UUID avoids the incorrect
# disk from being mounted if the OS detects a disk error during boot.
echo "UUID=${UUID} /uploads ext4 defaults,nofail 1 2" | sudo tee --append /etc/fstab
# Refresh the mount points.
sudo mount -a
- Partitions
/dev/sdc
- Tạo ext4 filesystem
- Tạo thư mục
/uploads
- Kết nối disk với thưc mục
Thực thi script:
chmod +x add-data-disk.sh
./add-data-disk.sh
Kiểm tra disk đã được gán thành công chưa:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 14G 0 disk
└─sdb1 8:17 0 14G 0 part /mnt
sr0 11:0 1 628K 0 rom
sdc 8:32 0 64G 0 disk
└─sdc1 8:33 0 64G 0 part /uploads
sda 8:0 0 30G 0 disk
└─sda1 8:1 0 30G 0 part /
Kết luận
Ta đã tìm hiểu cách tạo VM, tạo ổ đĩa mới và gán vào VM. Như bạn thấy với một con VM có sẵn ta có thể tạo thêm nhiều disk và gán vào nó, dễ dàng hơn trong việc mở rộng.
Nếu bài viết có gì sai hoặc cần cập nhật thì liên hệ Admin.
Tham gia nhóm chat của DevOps VN tại Telegram.
Kém tiếng Anh và cần nâng cao trình độ giao tiếp: Tại sao bạn học không hiệu quả?