All of lore.kernel.org
 help / color / mirror / Atom feed
* Upgrading storage server
@ 2015-02-09 12:35 Adam Goryachev
  2015-02-09 14:47 ` Joe Landman
  2015-02-10  3:16 ` John Stoffel
  0 siblings, 2 replies; 4+ messages in thread
From: Adam Goryachev @ 2015-02-09 12:35 UTC (permalink / raw)
  To: linux-raid

Hi all,

After making a whole string of mistakes in building a iSCSI server about 
2 years ago, I'm now looking to replace it without all the wrong 
turns/mistakes. I was hoping you could all offer some advice on hardware 
selection/choices.

The target usage as above is an iSCSI server as the backend to a bunch 
of VM's. Currently I have two identical storage servers, using 7 x SSD 
with Linux MD Raid, then using LVM to divide it up for each VM, and then 
DRBD on top to sync the two servers together, on the top is ietd to 
share the multiple DRBD devices out. The two servers have a single 
10Gbps connection between them for DRBD to sync the data. They also have 
a second 10Gbps ethernet for iscsi to use, with a pair of 1Gbps for 
management (on board). I have 8 x PC's running Xen with 2 x 1Gbps 
ethernet for iSCSI and one 1Gbps ethernet for the "user"/management LAN.

Current hardware of the storage servers are:
7 x Intel 480GB SSD Model SSDSC2CW480A3
1 x Intel 180GB SSD Model SSDSC2CT180A4  (for the OS)
1 x LSI Logic SAS2308 PCI-Express (8 x SATA connections)
1 x Intel Dual port 10Gbps 82599EB SFI/SFP+ Ethernet
1 x Intel Xeon CPU E3-1230 V2 @ 3.30GHz
Motherboard Intel S1200 
http://ark.intel.com/products/67494/Intel-Server-Board-S1200BTLR

What I'm hoping to achieve is to purchase two new (identical) servers, 
using current recommended (and well supported for the new few years) 
parts, and then move the two existing servers to a remote site, 
combining with DRBD proxy to give a full, "live" off-site backup 
solution. (Note, by backup I mean Disaster Recovery, not backup).

I would also like to be able to grow the total size of the data further 
if needed, currently I have 7 x 480G in RAID5, which is likely somewhat 
sub-optimal. Options include moving to larger size SSD, or at perhaps 
splitting into 2 x RAID5 arrays. The advantage of larger SSD's would be 
a smaller "system", with lower complexity, while using more smaller 
drives would provide (potentially) better performance, since each drive 
(regardless of size) has the same overall performance (both throughput 
and IOPS).

I would appreciate any advise or suggestions you can make to help me 
avoid the many mistakes I made last time.

Regards,
Adam

-- 
Adam Goryachev
Website Managers
www.websitemanagers.com.au


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Upgrading storage server
  2015-02-09 12:35 Upgrading storage server Adam Goryachev
@ 2015-02-09 14:47 ` Joe Landman
  2015-02-10  3:16 ` John Stoffel
  1 sibling, 0 replies; 4+ messages in thread
From: Joe Landman @ 2015-02-09 14:47 UTC (permalink / raw)
  To: Adam Goryachev, linux-raid

On 02/09/2015 07:35 AM, Adam Goryachev wrote:
> Hi all,
>
> After making a whole string of mistakes in building a iSCSI server 
> about 2 years ago, I'm now looking to replace it without all the wrong 
> turns/mistakes. I was hoping you could all offer some advice on 
> hardware selection/choices.
>
> The target usage as above is an iSCSI server as the backend to a bunch 
> of VM's. Currently I have two identical storage servers, using 7 x SSD 
> with Linux MD Raid, then using LVM to divide it up for each VM, and 
> then DRBD on top to sync the two servers together, on the top is ietd 
> to share the multiple DRBD devices out. The two servers have a single 
> 10Gbps connection between them for DRBD to sync the data. They also 
> have a second 10Gbps ethernet for iscsi to use, with a pair of 1Gbps 
> for management (on board). I have 8 x PC's running Xen with 2 x 1Gbps 
> ethernet for iSCSI and one 1Gbps ethernet for the "user"/management LAN.
>
> Current hardware of the storage servers are:
> 7 x Intel 480GB SSD Model SSDSC2CW480A3
> 1 x Intel 180GB SSD Model SSDSC2CT180A4  (for the OS)

We always use 2 drives in an MD RAID1 for OS.

> 1 x LSI Logic SAS2308 PCI-Express (8 x SATA connections)

Ok.  This is a lower end card on the performance side.

> 1 x Intel Dual port 10Gbps 82599EB SFI/SFP+ Ethernet
> 1 x Intel Xeon CPU E3-1230 V2 @ 3.30GHz
> Motherboard Intel S1200 
> http://ark.intel.com/products/67494/Intel-Server-Board-S1200BTLR
>
> What I'm hoping to achieve is to purchase two new (identical) servers, 
> using current recommended (and well supported for the new few years) 
> parts, and then move the two existing servers to a remote site, 
> combining with DRBD proxy to give a full, "live" off-site backup 
> solution. (Note, by backup I mean Disaster Recovery, not backup).
>
> I would also like to be able to grow the total size of the data 
> further if needed, currently I have 7 x 480G in RAID5, which is likely 
> somewhat sub-optimal. Options include moving to larger size SSD, or at 
> perhaps splitting into 2 x RAID5 arrays. 

Yes, RAIDx for x=5,6 are generally suboptimal for SSDs due to write 
amplification from the RMW cycle.  RAID10's are generally much gentler 
on SSDs from a longevity scenario.

> The advantage of larger SSD's would be a smaller "system", with lower 
> complexity, while using more smaller drives would provide 
> (potentially) better performance, since each drive (regardless of 
> size) has the same overall performance (both throughput and IOPS).

Are you performance limited now, or will you be shortly?  If so the 
performance arguments make sense.

>
> I would appreciate any advise or suggestions you can make to help me 
> avoid the many mistakes I made last time.

I'm biased given what we do.  If you are going to build it yourself, I'd 
recommend sticking to known working elements that aren't a pain to setup 
and manage.  Focus on RAID10 for the primary storage, move the OS to a 
completely different controller.  Build the OS drives as MD RAID1.

You might want to investigate dm multipath as well as DRBD/md, and Ceph 
RBD.  I'm a huge fan and user of MD RAID, but you are asking much higher 
level architectural questions, and MD RAID would be one of several 
technologies you would use for this.

>
> Regards,
> Adam
>

--
Joseph Landman, Ph.D
Founder and CEO
Scalable Informatics, Inc.
e: landman@scalableinformatics.com
w: http://scalableinformatics.com
t: @scalableinfo
p: +1 734 786 8423 x121
c: +1 734 612 4615


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Upgrading storage server
  2015-02-09 12:35 Upgrading storage server Adam Goryachev
  2015-02-09 14:47 ` Joe Landman
@ 2015-02-10  3:16 ` John Stoffel
  2015-02-10  7:22   ` Adam Goryachev
  1 sibling, 1 reply; 4+ messages in thread
From: John Stoffel @ 2015-02-10  3:16 UTC (permalink / raw)
  To: Adam Goryachev; +Cc: linux-raid


Adam> After making a whole string of mistakes in building a iSCSI
Adam> server about 2 years ago, I'm now looking to replace it without
Adam> all the wrong turns/mistakes. I was hoping you could all offer
Adam> some advice on hardware selection/choices.

I remember those discussions, they were quite informative and it was
interesting seeing Stan help you out.  Now that you've got this system
working well, or at least well enough, what is the biggest remaining
problem you have?

I've become a big fan of supermicro FatTwin systems, and they might be
what you want here for your setup.  But I'd also think about maybe you
want to go to fewer larger PCIe SSD cards in mirrored pairs instead
for better performance.  Or is performance a problem still?  

There's also *alot* to be said for simply replicating what you have,
but with larger SSDs, say 1Tb each, and keeping the rest of the system
and config exactly the same.  Limit the changes, esp since you went
through so much pain before.  

Now I might also think about upgrading all the clients to 10Gb as
well, and just moving to a completely 10G network if possible.  I seem
to remember that you didn't have any way to throttle or setup Quality
of Service limits on your iSCSI vs. other network traffic, which is
why you ended up splitting up the traffic like this, so that a single
VM couldn't bring the rest to their knees when a user did something
silly.  

So again, if it's working well now, don't chage your architecture at
all, just change some of the components for higher capacity or
performance.  This will also let you stress test the new cluster pair
next to your production setup before you migrate the VMs over to the
new setup and then move the old offsite.  

One warning is that you will need to make sure that the link between
the two sites has enough bandwidth and low enough RTT so that you can
properly replicate between them, esp if the end users will be
generating a bunch of data that changes alot.  


Adam> The target usage as above is an iSCSI server as the backend to a bunch 
Adam> of VM's. Currently I have two identical storage servers, using 7 x SSD 
Adam> with Linux MD Raid, then using LVM to divide it up for each VM, and then 
Adam> DRBD on top to sync the two servers together, on the top is ietd to 
Adam> share the multiple DRBD devices out. The two servers have a single 
Adam> 10Gbps connection between them for DRBD to sync the data. They also have 
Adam> a second 10Gbps ethernet for iscsi to use, with a pair of 1Gbps for 
Adam> management (on board). I have 8 x PC's running Xen with 2 x 1Gbps 
Adam> ethernet for iSCSI and one 1Gbps ethernet for the "user"/management LAN.

Adam> Current hardware of the storage servers are:
Adam> 7 x Intel 480GB SSD Model SSDSC2CW480A3
Adam> 1 x Intel 180GB SSD Model SSDSC2CT180A4  (for the OS)
Adam> 1 x LSI Logic SAS2308 PCI-Express (8 x SATA connections)
Adam> 1 x Intel Dual port 10Gbps 82599EB SFI/SFP+ Ethernet
Adam> 1 x Intel Xeon CPU E3-1230 V2 @ 3.30GHz
Adam> Motherboard Intel S1200 
Adam> http://ark.intel.com/products/67494/Intel-Server-Board-S1200BTLR

Adam> What I'm hoping to achieve is to purchase two new (identical) servers, 
Adam> using current recommended (and well supported for the new few years) 
Adam> parts, and then move the two existing servers to a remote site, 
Adam> combining with DRBD proxy to give a full, "live" off-site backup 
Adam> solution. (Note, by backup I mean Disaster Recovery, not backup).

Adam> I would also like to be able to grow the total size of the data further 
Adam> if needed, currently I have 7 x 480G in RAID5, which is likely somewhat 
Adam> sub-optimal. Options include moving to larger size SSD, or at perhaps 
Adam> splitting into 2 x RAID5 arrays. The advantage of larger SSD's would be 
Adam> a smaller "system", with lower complexity, while using more smaller 
Adam> drives would provide (potentially) better performance, since each drive 
Adam> (regardless of size) has the same overall performance (both throughput 
Adam> and IOPS).

Adam> I would appreciate any advise or suggestions you can make to help me 
Adam> avoid the many mistakes I made last time.

Adam> Regards,
Adam> Adam

Adam> -- 
Adam> Adam Goryachev
Adam> Website Managers
Adam> www.websitemanagers.com.au

Adam> --
Adam> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
Adam> the body of a message to majordomo@vger.kernel.org
Adam> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Upgrading storage server
  2015-02-10  3:16 ` John Stoffel
@ 2015-02-10  7:22   ` Adam Goryachev
  0 siblings, 0 replies; 4+ messages in thread
From: Adam Goryachev @ 2015-02-10  7:22 UTC (permalink / raw)
  To: John Stoffel; +Cc: linux-raid

On 10/02/15 14:16, John Stoffel wrote:
> Adam> After making a whole string of mistakes in building a iSCSI
> Adam> server about 2 years ago, I'm now looking to replace it without
> Adam> all the wrong turns/mistakes. I was hoping you could all offer
> Adam> some advice on hardware selection/choices.
>
> I remember those discussions, they were quite informative and it was
> interesting seeing Stan help you out.  Now that you've got this system
> working well, or at least well enough, what is the biggest remaining
> problem you have?
The only current requirement is to get some sort of DR 
configuration/setup in place, that doesn't involve restoring from 
backups. Performance is satisfactory right now, so I don't want to hit 
any new performance issues in the process.

> I've become a big fan of supermicro FatTwin systems, and they might be
> what you want here for your setup.  But I'd also think about maybe you
> want to go to fewer larger PCIe SSD cards in mirrored pairs instead
> for better performance.  Or is performance a problem still?
The users are satisfied with the current performance level, though I 
suspect if performance could be improved without drastically increasing 
the cost, then it would make sense as well.

Those FatTwin systems look pretty awesome, but since I only need two 
systems (nodes) and ideally I want one in each rack, then it doesn't 
quite work out. I tend to prefer white box systems, due to it being 
easier to find replacement parts, and I am avoiding too much redundancy 
within each system (eg dual power, raid6, etc) as I am relying on the 
second node to take over, allowing the primary to be repaired and added 
back in later.

> There's also *alot* to be said for simply replicating what you have,
> but with larger SSDs, say 1Tb each, and keeping the rest of the system
> and config exactly the same.  Limit the changes, esp since you went
> through so much pain before.
That was my thoughts, although I assume motherboards, CPU's, and perhaps 
SATA controller cards have changed a lot over the past 3 years (although 
I note that Intel suggests the motherboard isn't EOL until this year). 
I'd prefer to get current models of hardware so that they will be well 
supported (ie, replacements are easy to get) for the next few years. 
Basically, at the same time as adding DR capability, I will be 
refreshing the model of hardware. I suppose repeating this process every 
3 years means that the DR hardware will be up to 6 years old, which is 
probably still satisfactory (unless I see a lot of failures there), 
considering that there is still a replicated pair (as long as they don't 
both fail at the same time, or lose 2 "disks" each at the same time).
> Now I might also think about upgrading all the clients to 10Gb as
> well, and just moving to a completely 10G network if possible.  I seem
> to remember that you didn't have any way to throttle or setup Quality
> of Service limits on your iSCSI vs. other network traffic, which is
> why you ended up splitting up the traffic like this, so that a single
> VM couldn't bring the rest to their knees when a user did something
> silly.
Well, I split the iSCSI SAN and the user LAN partly to satisfy "best 
practice", improve security, as well as obviously 
performance/reliability. I don't think I'll upgrade all the VM servers 
to 10G at this stage (aren't planning to replace them all for another 6 
months or more). At that stage, it might be something to consider, but I 
would still be concerned about one VM "hogging" all the disk bandwidth. 
Perhaps in practice, it wouldn't be an issue, since it is more IOPS that 
is the limiting factor, and you can steal all available IOPS without 
using very much bandwidth. This will likely depend on the cost/ability 
to get a 16 port (or minimum of 10port) 10Gbps switch. Maybe something 
like this:
http://www.netgear.com.au/business/products/switches/smart/10g-smart-switch.aspx#tab-overview 
at approx AUD$1800

> So again, if it's working well now, don't chage your architecture at
> all, just change some of the components for higher capacity or
> performance.  This will also let you stress test the new cluster pair
> next to your production setup before you migrate the VMs over to the
> new setup and then move the old offsite.
I'm haven't properly thought about how to do the migration, but I would 
think I can bring up one of the new servers, and replace the current 
"secondary" in the DRBD. Then, when that has settled in (for a week or 
so), I can flip it to become the primary. Again, allow to test for a 
week or so (any issues I can easily flip it back to secondary and so 
revert back to the known good status), and then remove the second old 
server, and replace with the second new server. Finally, reconfigure 
both old servers onsite with the DRBD proxy config. Once that is working 
well, (and obviously all the data is synced up to date) I can move them 
offsite.
> One warning is that you will need to make sure that the link between
> the two sites has enough bandwidth and low enough RTT so that you can
> properly replicate between them, esp if the end users will be
> generating a bunch of data that changes alot.

Yep, that is something I'm looking into at the moment. Supposedly with 
drbdproxy, as long as the changed data per day is less than the 
bandwidth per day, then it should work. Also, this will relate to how 
much RAM is available on the drbdproxy node to cache the changes.

I'm actually struggling a little with getting the "right" data for this. 
Currently, I'm pulling all the data from /proc/drbd into an RRD file 
(for each drbd device). Hopefully I'm a little crazy, but if I do this:
rrdtool fetch ${i} AVERAGE -s -25h |grep -v nan|tail -288| cut -d' ' 
-f3| awk '{s+=$1}END{print s}'

Which should select the past 25 hours worth of 5 minute averages, then 
remove the unknowns at the end (because the rrd file is only updated 
every 30 minutes, the values are cached), and then pick only the last 24 
hours of reports (288), pick out the nr (network read) value, sum all 
those to get the total of the 5 minute average data read over the 
network (by the secondary). Finally, I multiply this by 300 to get the 
actual data transferred. (Assuming that a 5 minute average is 3MB/s, 
therefore the original amount of data transferred is 3 x 300 = 900MB in 
5minutes).
The problem is I got an answer of over 200GB, which isn't going to fit 
on my WAN  (max 10Mbps, or 1MB/s), unless I upgrade the WAN, or 
compression works really well, or my calculations are entirely wrong.....

Anyway, this section is somewhat off-topic for here. I'll follow up the 
DRBD side elsewhere.

Thanks for your comments/suggestions.

Regards,
Adam

> Adam> The target usage as above is an iSCSI server as the backend to a bunch
> Adam> of VM's. Currently I have two identical storage servers, using 7 x SSD
> Adam> with Linux MD Raid, then using LVM to divide it up for each VM, and then
> Adam> DRBD on top to sync the two servers together, on the top is ietd to
> Adam> share the multiple DRBD devices out. The two servers have a single
> Adam> 10Gbps connection between them for DRBD to sync the data. They also have
> Adam> a second 10Gbps ethernet for iscsi to use, with a pair of 1Gbps for
> Adam> management (on board). I have 8 x PC's running Xen with 2 x 1Gbps
> Adam> ethernet for iSCSI and one 1Gbps ethernet for the "user"/management LAN.
>
> Adam> Current hardware of the storage servers are:
> Adam> 7 x Intel 480GB SSD Model SSDSC2CW480A3
> Adam> 1 x Intel 180GB SSD Model SSDSC2CT180A4  (for the OS)
> Adam> 1 x LSI Logic SAS2308 PCI-Express (8 x SATA connections)
> Adam> 1 x Intel Dual port 10Gbps 82599EB SFI/SFP+ Ethernet
> Adam> 1 x Intel Xeon CPU E3-1230 V2 @ 3.30GHz
> Adam> Motherboard Intel S1200
> Adam> http://ark.intel.com/products/67494/Intel-Server-Board-S1200BTLR
>
> Adam> What I'm hoping to achieve is to purchase two new (identical) servers,
> Adam> using current recommended (and well supported for the new few years)
> Adam> parts, and then move the two existing servers to a remote site,
> Adam> combining with DRBD proxy to give a full, "live" off-site backup
> Adam> solution. (Note, by backup I mean Disaster Recovery, not backup).
>
> Adam> I would also like to be able to grow the total size of the data further
> Adam> if needed, currently I have 7 x 480G in RAID5, which is likely somewhat
> Adam> sub-optimal. Options include moving to larger size SSD, or at perhaps
> Adam> splitting into 2 x RAID5 arrays. The advantage of larger SSD's would be
> Adam> a smaller "system", with lower complexity, while using more smaller
> Adam> drives would provide (potentially) better performance, since each drive
> Adam> (regardless of size) has the same overall performance (both throughput
> Adam> and IOPS).
>
> Adam> I would appreciate any advise or suggestions you can make to help me
> Adam> avoid the many mistakes I made last time.
>

-- 
Adam Goryachev
Website Managers
P: +61 2 8304 0000                    adam@websitemanagers.com.au
F: +61 2 8304 0001                     www.websitemanagers.com.au


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-02-10  7:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-09 12:35 Upgrading storage server Adam Goryachev
2015-02-09 14:47 ` Joe Landman
2015-02-10  3:16 ` John Stoffel
2015-02-10  7:22   ` Adam Goryachev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.