![](https://blog.lufamily.ca/kang/wp-content/uploads/sites/3/2022/07/71MiR84-V0L._AC_SL1500_-700x1024.jpg)
Our home Network Attached Storage (NAS) media server is going below 4 Terabytes of free space. The Seagate IronWolf 12TB hard drives were on sale with Amazon offering them below $300. I figure that I swap out two old 6TB drives with these new 12TB drives resulting in a net increase of a further 6TB of storage.
The last time this was done was around two years ago when I replaced 4TB and 6TB hard drives with 10TB hard drives.
So far the mdadm
and LVM
storage architecture has proven to be very flexible. I am able to mix drives of different sizes and able to grow our media storage volume over time.
Previously I had to make two swaps, each swap for each drive in the array. Effectively I am changing two 6TB drives for two 12TB drives because they are in a Raid 1 array. I cannot swap both at the same time, because I have to incrementally sync the data from the old drives to the new ones.
This has always been inconvenient because it means opening the physical server twice. However, this time I used my USB 3.0 HDD dock. I inserted one of two 12TB new drives into the dock, and then I temporarily created a three disks Raid 1 array. Once the sync is completed, which took 10+ hours, I remove one 6TB drive from the array configuration and I then physically replace both 6TB drives with both 12TB new drives in the server chassis, and place one old 6TB drive into the dock. The 6TB drive in the dock is the one that is still in the array configuration. I then add the second 12TB drive that is already in the server chassis to the three disk array. Once again, a sync is required to accommodate the second 12TB drive. This also took 10+ hours. Once the second sync is completed, I can finally remove the second 6TB drive in the dock from the array and have the array returned back to a two disk Raid 1 array.
The above description is probably quite confusing, but this technique allowed me to just have a single down time for the server instead of two when swapping hard drives in the server chassis.
There will be an additional downtime when I grow or resize the LVM volume and file system.
After this upgrade I should have the following Raid 1 (fully mirrored) arrays:
- An array with 2 x 8TB
- An array with 2 x 10TB
- An array with 2 x 10TB
- An array with 2 x 12TB
The above four arrays are combined into a logical volume using LVM
that results in a total volume size of 40TB (fully mirrored) or a little over 36TiB of usable space (increasing from the old 31TiB).
% df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.7G 0 7.7G 0% /dev
tmpfs 1.6G 3.4M 1.6G 1% /run
/dev/sdj1 454G 64G 367G 15% /
tmpfs 7.7G 37M 7.7G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/mapper/airvideovg2-airvideo 37T 26T 9.1T 74% /mnt/airvideo
tmpfs 1.6G 0 1.6G 0% /run/user/997
tmpfs 1.6G 0 1.6G 0% /run/user/1000
/dev/sda1 5.5T 548G 4.7T 11% /mnt/6tb
As you can see from above, the /mnt/airvideo
now has 9.1TiB free!
The NAS motherboard and CPU is now over three years old. I may give it a couple of more years before considering another hardware upgrade.