Việc lựa chọn định dạng format cho ổ cứng thường không được chú ý khi cài đặt Linux. Mỗi lựa chọn đều có ưu nhược điểm riêng. Với Zimico, chúng tôi thường sử dụng hệ thống ảo hoá để xây dựng các zimbra server. Khi đã sử dụng máy ảo với các ổ cứng “ảo” thì chúng tôi tập trung vào:

  • Tính đơn giản.
  • Ít thao tác khi cần tăng dung lượng. Không phải khởi động lại server.

Hiện tại, chúng tôi thường tạo mỗi ổ cứng ảo tương ứng với mỗi mount point quan trọng trong Zimbra. Các ổ cứng này được định dạng kiểu “physical partition” với định dạng standard mà không dùng các chương trình quản lý trung gian như lvm, logical volume. Với định dạng “standard physcial partition”, bạn sẽ dễ dàng tăng thêm dung lượng ổ cứng này theo quy trình sau. Ví dụ ta có 1 ổ cứng tên là sdd được mount vào mount point là /opt/zimbra/backup hiện có dung lượng 3TB và muốn tăng lên thành 5TB.

Liệt kê các ổ cứng và mount point tương ứng.

lsblk 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
sda 8:0 0 50G 0 disk
 ├─sda1 8:1 0 1G 0 part /boot
 ├─sda2 8:2 0 35G 0 part /
 └─sda3 8:3 0 14G 0 part /var 
sdb 8:16 0 400G 0 disk
 ├─sdb1 8:17 0 392G 0 part /opt
 └─sdb2 8:18 0 8G 0 part [SWAP] 
sdc 8:32 0 3T 0 disk
 └─sdc1 8:33 0 3T 0 part /hsm1
Ta quan tâm đến thiết bị sdd đang được mount vào /opt/zimbra/backup
Trong vmware tăng dung lượng ổ cứng backup từ 3TB lên 5TB.
Khởi động lại máy ảo hoặc sử dụng rescan
echo 1 > /sys/class/block/sdd/device/rescan (với sdd là ổ cứng đã thay đổi).

Trong Centos 7, xác nhận ổ cứng đã thay đổi dung lượng.

lsblk 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
sda 8:0 0 50G 0 disk
 ├─sda1 8:1 0 1G 0 part /boot
 ├─sda2 8:2 0 35G 0 part /
 └─sda3 8:3 0 14G 0 part /var 
sdb 8:16 0 400G 0 disk
 ├─sdb1 8:17 0 392G 0 part /opt
 └─sdb2 8:18 0 8G 0 part [SWAP] 
sdc 8:32 0 3T 0 disk
 └─sdc1 8:33 0 3T 0 part /hsm1 
sdd 8:48 0 5T 0 disk
 └─sdd1 8:49 0 3T 0 part /opt/zimbra/backup 
sde 8:64 0 3T 0 disk
 └─sde1 8:65 0 3T 0 part /hsm2 
sr0 11:0 1 1024M 0 rom

Ta quan tâm đến thiết bị sdd đang được mount vào /opt/zimbra/backup

Cài đặt gpart

yum -y install cloud-utils-growpart gdisk

Sử dụng growpart để thay đổi dung lượng partition

growpart /dev/sdd 1
CHANGED: partition=1 start=2048 old: size=6442442752 end=6442444800 new: size=10737416158 end=10737418206
/dev/sdd là ổ cứng, 1 là partition số 1.

Kiểm tra lại dung lượng partition

lsblk

Tiến hành resize partition với file system là ext4.

resize2fs /dev/sdd1

Kiểm tra:

df -hT | grep /dev/sdd

Trường hợp bạn muốn thay đổi partition nhưng lại có 1 partition đứng ngay sau nó, bạn cần xóa bỏ partition này đi.

Ví dụ:

#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 35G 0 part /
└─sda3 8:3 0 14G 0 part /var
sdb 8:16 0 400G 0 disk
├─sdb1 8:17 0 392G 0 part /opt
└─sdb2 8:18 0 8G 0 part [SWAP]

Bạn muốn mở rộng sdb1, vì vậy cần xóa sdb2 (swap) và thay bằng swap file.

- Tắt swap partition
swapoff -v /dev/sdb2
- Bỏ swap partition sdb2 trong fstab
vi /etc/fstab
- Xóa sdb2 bằng fdisk.
fdisk /dev/sdb
- Chọn p để liệt kê partion:
 Device Boot Start End Blocks Id System
/dev/sdb1 2048 822099967 411048960 83 Linux
/dev/sdb2 822099968 838860799 8380416 82 Linux swap / Solaris
- Chọn d để xóa sdb2
Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 is deleted
- Chọn w để lưu và thoát.

Sau khi xóa partition sdb2, bạn cần cấp phần đĩa cứng trống này cho sdb1

- Ngưng dịch vụ zimbra
- Unmount /opt
umount /opt
- Nếu nhận thông báo /opt đang busy, bạn có thể dùng lệnh lsof +D /opt để xem các proccess và dùng lệnh kill để tắt các proccess. Nếu vẫn không được thì dùng:
umount -l /opt
- Lấy lại dung lượng còn trống
parted /dev/sdb resizepart
- Chọn 1 (partition sdb1), chọn enter lấy mặc định toàn bộ dung lượng.
- Mount lại /opt
mount /opt
- Khởi động Zimbra.
Tiến hành bước growpart ở phía trên như bình thường để mở rộng sdb1.

Tạo swap file.

- Xem thông tin về swaps
cat /proc/swaps
- Tạo 1 file tên là swapfile và gán dung lượng 8G
fallocate -l 8G /swapfile
- Thay đổi permission
chmod 600 /swapfile
- Tạo swap dùng swapfile này
mkswap /swapfile
- Bật swap
swapon /swapfile
swapon --show
cat /proc/sys/vm/swappiness
cat /proc/swaps

Thay đổi mức độ swappiness

sysctl vm.swappiess=1
- Chỉnh sửa file sysctl.conf
vi /etc/sysctl.conf
vm.swappiness = 1