Tôi sử dụng máy Ubuntu của mình làm máy chủ tệp cho các máy khách Windows / Linux / Mac bằng cách sử dụng chia sẻ Samba. Tôi cần nó để có thể dễ dàng mở rộng bằng cách chỉ cần thêm nhiều ổ đĩa cứng mà không phải di chuyển bất kỳ dữ liệu nào qua lại.
Đây là cách tôi đã làm nó cho đến nay. Tôi đã thêm thành công một ổ đĩa cứng thứ tư. Bây giờ sẽ rất tốt để biết đây là cách nó nên được thực hiện? Những gì tôi đang làm sai hoặc những gì tôi có thể làm tốt hơn?
Tạo mảng 3 ổ đĩa ban đầu
Tôi bắt đầu với ba ổ trống: / dev / sdb, / dev / sdc và / dev / sdd.
Đầu tiên tôi tạo các phân vùng trống cho tất cả các ổ đĩa:
$ fdisk /dev/sdX
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc
Khi các phân vùng RAID trống đã được tạo cho cả ba đĩa, tôi đã tạo một mảng RAID5:
$ mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Bây giờ mảng RAID5 đã được tạo và nó đã được xây dựng. Mất nhiều thời gian, nhưng bạn có thể tiến hành tạo một khối LVM2 vật lý mới:
$ pvcreate /dev/md0
Bây giờ hãy tạo một nhóm âm lượng mới:
$ vgcreate vd_raid /dev/md0
Sau đó, chúng ta cần tạo một khối logic mới trong nhóm âm lượng đó. Đầu tiên chúng ta cần tìm ra kích thước chính xác của nhóm âm lượng đã tạo:
$ vgdisplay vg_raid
Kích thước có thể được nhìn thấy từ hàng chỉ ra "Tổng PE" trong phạm vi vật lý. Hãy tưởng tượng nó là 509. Bây giờ hãy tạo một khối logic mới cần tất cả không gian có sẵn:
$ lvcreate -l 509 vg_raid -n lv_raid
Cuối cùng, chúng ta có thể tạo một hệ thống tệp trên đầu khối lượng logic đó:
$ mkfs.xfs /dev/mapper/vg_raid-lv_raid
Để có thể sử dụng mảng RAID mới tạo của chúng tôi, chúng tôi cần tạo một thư mục và gắn kết nó:
$ mkdir /raid
$ mount /dev/mapper/vg_raid-lv_raid /raid
Bây giờ nó đã sẵn sàng để sử dụng. Nhưng để nó tự động gắn kết sau khi khởi động lại, chúng ta cần lưu hình học RAID vào tệp cấu hình của mdadm:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Sau đó thêm dòng sau vào / etc / fstab để tự động gắn mảng RAID:
/dev/mapper/vg_raid-lv_raid /raid auto auto,noatime,nodiratime,logbufs=8 0 1
Bây giờ mảng RAID đã sẵn sàng để sử dụng và được gắn tự động vào thư mục / raid sau mỗi lần khởi động.
Thêm một ổ đĩa mới vào mảng
Hãy tưởng tượng rằng bây giờ bạn có một ổ đĩa mới, / dev / sde, mà bạn muốn thêm vào mảng đã tạo trước đó mà không mất bất kỳ dữ liệu nào.
Đầu tiên, ổ đĩa mới cần được phân vùng như tất cả các ổ đĩa khác:
$ fdisk /dev/sde
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc
Sau đó, nó cần được thêm vào mảng RAID:
$ mdadm --add /dev/md0 /dev/sde1
Bây giờ mảng RAID5 bao gồm bốn ổ đĩa, hiện chỉ có ba ổ đĩa đang được sử dụng. Mảng cần được mở rộng để bao gồm cả bốn ổ đĩa:
$ mdadm --grow /dev/md0 --raid-devices=4
Sau đó, khối lượng LVM2 vật lý cần được mở rộng:
$ pvresize /dev/md0
Bây giờ, âm lượng vật lý được thay đổi kích thước theo mặc định để bao phủ tất cả không gian có sẵn trong mảng RAID. Chúng ta cần tìm ra kích thước mới trong phạm vi vật lý:
$ vgdisplay vg_raid
Hãy tưởng tượng rằng kích thước mới hiện là 764 (có thể được nhìn thấy từ "Total PE"). Bây giờ mở rộng âm lượng hợp lý để bao gồm điều này:
$ lvextend /dev/mapper/vg_raid-lv_raid -l 764
Sau đó mở rộng hệ thống tệp XFS. Điều này cần phải được thực hiện trong khi hệ thống tập tin trực tuyến và được gắn kết:
$ xfs_grow /raid
Theo mặc định, nó được mở rộng để bao gồm tất cả không gian có sẵn. Cuối cùng, hình dạng mảng RAID cần được cập nhật vì mảng hiện bao gồm một đĩa mới. Đầu tiên xóa dòng đã thêm từ /etc/mdadm/mdadm.conf và sau đó thêm một dòng mới:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf