* 3-way mirror to RAID-6 @ 2017-12-25 19:36 Gandalf Corvotempesta 2017-12-25 21:53 ` NeilBrown 0 siblings, 1 reply; 10+ messages in thread From: Gandalf Corvotempesta @ 2017-12-25 19:36 UTC (permalink / raw) To: Linux RAID Mailing List Hi to all I have a server with a 3way mirror. As I have to increase the total available space, one solution would be to replace all disks with bigger ones, but this is expensive. Another solution would be to add just one disk and then reshape from RAID-1 to RAID-6 Do you have any guide on how to do this reshape on a running array ? Thank you. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3-way mirror to RAID-6 2017-12-25 19:36 3-way mirror to RAID-6 Gandalf Corvotempesta @ 2017-12-25 21:53 ` NeilBrown 2017-12-26 10:09 ` Wols Lists 2017-12-27 10:13 ` Gandalf Corvotempesta 0 siblings, 2 replies; 10+ messages in thread From: NeilBrown @ 2017-12-25 21:53 UTC (permalink / raw) To: Gandalf Corvotempesta, Linux RAID Mailing List [-- Attachment #1: Type: text/plain, Size: 730 bytes --] On Mon, Dec 25 2017, Gandalf Corvotempesta wrote: > Hi to all > I have a server with a 3way mirror. > As I have to increase the total available space, one solution would be to > replace all disks with bigger ones, but this is expensive. > > Another solution would be to add just one disk and then reshape from > RAID-1 to RAID-6 > > Do you have any guide on how to do this reshape on a running array ? > Thank you. I suggest you add the new device with "mdadm --add", then try the reshape with "mdadm --grow /dev/mdXXX --level=6 --raid-devices-4". It might not work quite that easily - I think you need to first convert the raid1 to a 2-way mirror, but that is easy enough mdadm --grow /dev/mdxxx --raid-devices=2 NeilBrown [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3-way mirror to RAID-6 2017-12-25 21:53 ` NeilBrown @ 2017-12-26 10:09 ` Wols Lists 2017-12-27 10:13 ` Gandalf Corvotempesta 1 sibling, 0 replies; 10+ messages in thread From: Wols Lists @ 2017-12-26 10:09 UTC (permalink / raw) To: NeilBrown, Gandalf Corvotempesta, Linux RAID Mailing List On 25/12/17 21:53, NeilBrown wrote: > On Mon, Dec 25 2017, Gandalf Corvotempesta wrote: > >> Hi to all >> I have a server with a 3way mirror. >> As I have to increase the total available space, one solution would be to >> replace all disks with bigger ones, but this is expensive. >> >> Another solution would be to add just one disk and then reshape from >> RAID-1 to RAID-6 >> >> Do you have any guide on how to do this reshape on a running array ? >> Thank you. > > I suggest you add the new device with "mdadm --add", then try the > reshape with "mdadm --grow /dev/mdXXX --level=6 --raid-devices-4". > > It might not work quite that easily - I think you need to first convert > the raid1 to a 2-way mirror, but that is easy enough > > mdadm --grow /dev/mdxxx --raid-devices=2 That was my reaction. I'm 99% certain that a three-way will not reshape. > > NeilBrown > Cheers, Wol ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3-way mirror to RAID-6 2017-12-25 21:53 ` NeilBrown 2017-12-26 10:09 ` Wols Lists @ 2017-12-27 10:13 ` Gandalf Corvotempesta 2017-12-27 14:28 ` Phil Turmel 1 sibling, 1 reply; 10+ messages in thread From: Gandalf Corvotempesta @ 2017-12-27 10:13 UTC (permalink / raw) To: NeilBrown; +Cc: Linux RAID Mailing List 2017-12-25 22:53 GMT+01:00 NeilBrown <neilb@suse.com>: > I suggest you add the new device with "mdadm --add", then try the > reshape with "mdadm --grow /dev/mdXXX --level=6 --raid-devices-4". Ok. > It might not work quite that easily - I think you need to first convert > the raid1 to a 2-way mirror, but that is easy enough > > mdadm --grow /dev/mdxxx --raid-devices=2 Moving from a 3-way mirror to a 2-way mirror is not an issue. What do you suggest ? Adding 3 more disks and creating a striped 3-way mirror or reshaping to a 4-disks RAID-6? Keep in mind that i'll never run anything with redundancy level < 2 and a simple mirror has only "1" as redundancy level (a striped mirror is the same: only one disks could be lost in each mirror pair) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3-way mirror to RAID-6 2017-12-27 10:13 ` Gandalf Corvotempesta @ 2017-12-27 14:28 ` Phil Turmel [not found] ` <CAJH6TXiqsd=Zs4t5qAEe19shJFgSAZ1W-95yT041H6OyLbKvfA@mail.gmail.com> 0 siblings, 1 reply; 10+ messages in thread From: Phil Turmel @ 2017-12-27 14:28 UTC (permalink / raw) To: Gandalf Corvotempesta, NeilBrown; +Cc: Linux RAID Mailing List On 12/27/2017 05:13 AM, Gandalf Corvotempesta wrote: > 2017-12-25 22:53 GMT+01:00 NeilBrown <neilb@suse.com>: >> I suggest you add the new device with "mdadm --add", then try the >> reshape with "mdadm --grow /dev/mdXXX --level=6 --raid-devices-4". > > Ok. If that works, you're done. But the designer of the code thinks it won't, so don't hold your breath. >> It might not work quite that easily - I think you need to first convert >> the raid1 to a 2-way mirror, but that is easy enough >> >> mdadm --grow /dev/mdxxx --raid-devices=2 > > Moving from a 3-way mirror to a 2-way mirror is not an issue. I think you mean "is an issue" .... > What do you suggest ? Adding 3 more disks and creating a striped 3-way > mirror or reshaping to a 4-disks RAID-6? > > Keep in mind that i'll never run anything with redundancy level < 2 > and a simple mirror has only "1" as redundancy level (a striped mirror > is the same: only one disks could be lost in each mirror pair) .... based on this requirement of yours. You can't get there from here, at least not while running. Converting from raid1 n=2 to any parity-based layout takes advantage of the fact that the data content of a simple mirror is identical to the data content of a raid4/5 n=2, since parity of one bit is the same bit. With some downtime, you could do the following: 1) Unmount and/or deactivate your array (but leave the array running). 2) Reduce your mirror from n=3 to n=2 and *remove* the newly spared member -- holding it in reserve in case of disaster. 3) Add the new drive as a spare, then --grow to raid6 n=3. *Wait* for the reshape to complete (restoring your desired redundancy within the array). 4) Remount or re-activate your array and resume normal operations. 5) Add the drive from (2) back as a spare (may have to --zero-superblock) and reshape from raid6 n=3 to raid6 n=4. There are no-downtime options possible if you have LVM on top of your array, and if you can add at least a fifth drive to the mix. Phil 5) Wi ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <CAJH6TXiqsd=Zs4t5qAEe19shJFgSAZ1W-95yT041H6OyLbKvfA@mail.gmail.com>]
* Re: 3-way mirror to RAID-6 [not found] ` <CAJH6TXiqsd=Zs4t5qAEe19shJFgSAZ1W-95yT041H6OyLbKvfA@mail.gmail.com> @ 2017-12-28 12:34 ` Phil Turmel 2018-01-08 11:34 ` Gandalf Corvotempesta 0 siblings, 1 reply; 10+ messages in thread From: Phil Turmel @ 2017-12-28 12:34 UTC (permalink / raw) To: Gandalf Corvotempesta; +Cc: NeilBrown, Linux RAID Mailing List On 12/28/2017 03:33 AM, Gandalf Corvotempesta wrote: > Il mercoledì 27 dicembre 2017, Phil Turmel <philip@turmel.org > <mailto:philip@turmel.org>> ha scritto: > > I think you mean "is an issue" .... > > > No, is not an issue as long it's a temporary step... Ok. Then: > I can remove one disk from the 3way mirror for this operation, after > that, growing from a 2way mirror to a raid6 should be possible, right ? Yes, I think so. A quick test with some loop devices on your kernel will tell you for sure, and if it will take only one step. > Yes I have LVM and I can add a fifth drive, but I prefer to only add a > fourth drive and move from current 3way mirror to raid 6 With LVM, it is always possible to set up new drives in an entirely new raid of the desired configuration, possibly with a "missing" or two, add it as a physical volume to the same VG, then mirror the LVs across both arrays. (Or just pvmove if the target array's redundancy is sufficient.) Move redundant drives from old array to new if needed, then vgreduce to drop the old array. > It's a mailserver, is a raid6 a performance killer? I've never put a mail archive on raid6. I'd be concerned. It's basically a random access workload with small reads and writes. That is a recipe that'll maximize the write-amplification slowdown of raid6. Consider converting to raid10,near3 n=4, or raid10,near3 n=5 to get a little more capacity but keep the high performance of mirroring. Raid10 doesn't require the array's member count be a multiple of the number of copies. Phil ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3-way mirror to RAID-6 2017-12-28 12:34 ` Phil Turmel @ 2018-01-08 11:34 ` Gandalf Corvotempesta 2018-01-08 15:20 ` Wols Lists 0 siblings, 1 reply; 10+ messages in thread From: Gandalf Corvotempesta @ 2018-01-08 11:34 UTC (permalink / raw) To: Phil Turmel; +Cc: NeilBrown, Linux RAID Mailing List 2017-12-28 13:34 GMT+01:00 Phil Turmel <philip@turmel.org>: > I've never put a mail archive on raid6. I'd be concerned. It's > basically a random access workload with small reads and writes. That is > a recipe that'll maximize the write-amplification slowdown of raid6. Ok, just to stay on the safety side, this is the current 3-way raid1: # mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Jul 25 12:55:48 2016 Raid Level : raid1 Array Size : 488382841 (465.76 GiB 500.10 GB) Used Dev Size : 488382841 (465.76 GiB 500.10 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Mon Jan 8 12:26:43 2018 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Name : mail:0 (local to host mail) UUID : b2a5ed53:42890b73:dc6de22a:1ac12524 Events : 30658 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1 2 8 33 2 active sync /dev/sdc1 # pvs PV VG Fmt Attr PSize PFree /dev/md0 vg1 lvm2 a- 465,76g 0 # vgs VG #PV #LV #SN Attr VSize VFree vg1 1 6 0 wz--n- 465,76g 0 # lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lv_dovecot vg1 -wi-ao 10,00g lv_log vg1 -wi-ao 15,00g lv_mail vg1 -wi-ao 410,76g lv_root vg1 -wi-ao 20,00g lv_swap vg1 -wi-ao 8,00g lv_tmp vg1 -wi-ao 2,00g I want to replace all disks with 2TB SAS disks. So, which is the best procedure to follow to increse the total usable space, without loosing redundancy while the system is running ? I would like to have some confirms from skilled users in this ML. On my own, i would replace one disk per time (fail+remove+add) and wait for resync to complete, then, resize the array: mdadm --grow /dev/md0 --bitmap none mdadm --grow /dev/md0 --size=max wait for it to finish then: pvresize /dev/md0, lvresize (each LVs), resize2fs (each FS) Is this ok ? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3-way mirror to RAID-6 2018-01-08 11:34 ` Gandalf Corvotempesta @ 2018-01-08 15:20 ` Wols Lists 2018-01-08 15:25 ` Gandalf Corvotempesta 0 siblings, 1 reply; 10+ messages in thread From: Wols Lists @ 2018-01-08 15:20 UTC (permalink / raw) To: Gandalf Corvotempesta; +Cc: Linux RAID Mailing List On 08/01/18 11:34, Gandalf Corvotempesta wrote: > So, which is the best procedure to follow to increse the total usable > space, without loosing redundancy while the system is running ? > > I would like to have some confirms from skilled users in this ML. > On my own, i would replace one disk per time (fail+remove+add) and > wait for resync to complete, then, resize the array: Well, that's certainly not best practice! If you can, you replace one disk at a time with --replace. That will copy the drive in-place with *no* reduction in redundancy. Doing a fail/remove removes one level of redundancy. Okay, you need spare ports to do a --replace so it's not always possible, but it's always desirable. And with enough spare ports, you can replace more than one drive at once, again with NO loss of redundancy. Cheers, Wol ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3-way mirror to RAID-6 2018-01-08 15:20 ` Wols Lists @ 2018-01-08 15:25 ` Gandalf Corvotempesta 2018-01-08 20:18 ` Wol's lists 0 siblings, 1 reply; 10+ messages in thread From: Gandalf Corvotempesta @ 2018-01-08 15:25 UTC (permalink / raw) To: Wols Lists; +Cc: Linux RAID Mailing List 2018-01-08 16:20 GMT+01:00 Wols Lists <antlists@youngman.org.uk>: > Okay, you need spare ports to do a --replace so it's not always > possible, but it's always desirable. And with enough spare ports, you > can replace more than one drive at once, again with NO loss of redundancy. I have 3 ports available, so I can replace 3 disks at once. Any hint on the exact command so that I can safely test on a test server ? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3-way mirror to RAID-6 2018-01-08 15:25 ` Gandalf Corvotempesta @ 2018-01-08 20:18 ` Wol's lists 0 siblings, 0 replies; 10+ messages in thread From: Wol's lists @ 2018-01-08 20:18 UTC (permalink / raw) To: Gandalf Corvotempesta; +Cc: Linux RAID Mailing List On 08/01/18 15:25, Gandalf Corvotempesta wrote: > 2018-01-08 16:20 GMT+01:00 Wols Lists <antlists@youngman.org.uk>: >> Okay, you need spare ports to do a --replace so it's not always >> possible, but it's always desirable. And with enough spare ports, you >> can replace more than one drive at once, again with NO loss of redundancy. > > I have 3 ports available, so I can replace 3 disks at once. > Any hint on the exact command so that I can safely test on a test server ? > Search the man page for --replace, but (off the top of my head) I think it's as simple as mdadm /dev/md0 --add /dev/sdg --replace /dev/sdc or mdadm /dev/md0 --add /dev/sdg /dev/sdh /dev/sdi /dev/sdj --replace /dev/sdc /dev/sdd /dev/sde /dev/sdf The man page says that the --replace option tells the raid code to failover the selected device as soon as a spare becomes available, so using --add --replace gives it the spare and tells it to use it. With this number of devices to play with, I'd make sure to make a note of the original UUIDs and use those where possible - if linux plays with your sdx or you muddle your cables or whatever, then you could easily make an array-damaging typo ... Cheers, Wol ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2018-01-08 20:18 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-25 19:36 3-way mirror to RAID-6 Gandalf Corvotempesta
2017-12-25 21:53 ` NeilBrown
2017-12-26 10:09 ` Wols Lists
2017-12-27 10:13 ` Gandalf Corvotempesta
2017-12-27 14:28 ` Phil Turmel
[not found] ` <CAJH6TXiqsd=Zs4t5qAEe19shJFgSAZ1W-95yT041H6OyLbKvfA@mail.gmail.com>
2017-12-28 12:34 ` Phil Turmel
2018-01-08 11:34 ` Gandalf Corvotempesta
2018-01-08 15:20 ` Wols Lists
2018-01-08 15:25 ` Gandalf Corvotempesta
2018-01-08 20:18 ` Wol's lists
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox