Am 11.06.2014 12:14, schrieb thegeezer:

>> Basically 3 RAID-6 hw-raids over 6 SAS hdds.
> 
> OK so i'm confused again.   RAID6 requires minimum of 4 drives.
> if you have 3 raid6's then you would need 12 drives (coffee hasn't quite
> activated in me yet so my maths may not be right)
> or do you have essentially the first part of each of the six drives be
> virtual disk 1, the second part of each of the six drives virtual disk 2
> and the third part be virtual disk 3 -- if this is the case bear in mind
> that the slowest part of the disk is the end of the disk -- so you are
> essentially hobbling your virtual disk3 but only a little, instead of
> being around 150MB/sec it might run at 80.


I'd be happy to see 80 !

Ran atop now while dd-ing stuff to an external disk and got ~1MB/s for
2.5GB of data.

(this is even too slow for USB ...)

I am unsure what to post here from atop ... ?


To the initial question:

Yes, imagine the six disks "split" or partitioned at the level of the
hardware raid controller (as you described above).

> you might also like to try a simple test of the following (yes lvs count
> as block devices)
> # hdparm -t /dev/sda
> # hdparm -t /dev/sdb
> # hdparm -t /dev/sdc
> # hdparm -t /dev/vg01/winserver_disk0
> # hdparm -t /dev/vg01/amhold

everything around 380 MB/s ... only ~350 MB/s for
/dev/vg01/winserver_disk0 (which still is nice)

> i notice the core i7 only now.  have you disabled turbo boost in the bios ?
> this is great for a desktop but awful for a server as it disables all
> those extra cores for a single busy thread

I checked BIOS settings yesterday and don't remember a turbo boost
option. I will check once more.

> cgroups are a great way of limiting or guaranteeing performance. by
> default i believe systemd will aim for user interactivity, but you want
> to change that to be more balanced.
> maybe some else can suggest how best to configure systemd cgroups.
> meanwhile can you
> # tree /sys/fs/cgroup/

# !tr
tree /sys/fs/cgroup/
/sys/fs/cgroup/
├── cpu -> cpu,cpuacct
├── cpuacct -> cpu,cpuacct
├── cpu,cpuacct
│   ├── cgroup.clone_children
│   ├── cgroup.event_control
│   ├── cgroup.procs
│   ├── cgroup.sane_behavior
│   ├── cpuacct.stat
│   ├── cpuacct.usage
│   ├── cpuacct.usage_percpu
│   ├── cpu.shares
│   ├── notify_on_release
│   ├── release_agent
│   └── tasks
├── cpuset
│   ├── cgroup.clone_children
│   ├── cgroup.event_control
│   ├── cgroup.procs
│   ├── cgroup.sane_behavior
│   ├── cpuset.cpu_exclusive
│   ├── cpuset.cpus
│   ├── cpuset.mem_exclusive
│   ├── cpuset.mem_hardwall
│   ├── cpuset.memory_migrate
│   ├── cpuset.memory_pressure
│   ├── cpuset.memory_pressure_enabled
│   ├── cpuset.memory_spread_page
│   ├── cpuset.memory_spread_slab
│   ├── cpuset.mems
│   ├── cpuset.sched_load_balance
│   ├── cpuset.sched_relax_domain_level
│   ├── machine.slice
│   │   ├── cgroup.clone_children
│   │   ├── cgroup.event_control
│   │   ├── cgroup.procs
│   │   ├── cpuset.cpu_exclusive
│   │   ├── cpuset.cpus
│   │   ├── cpuset.mem_exclusive
│   │   ├── cpuset.mem_hardwall
│   │   ├── cpuset.memory_migrate
│   │   ├── cpuset.memory_pressure
│   │   ├── cpuset.memory_spread_page
│   │   ├── cpuset.memory_spread_slab
│   │   ├── cpuset.mems
│   │   ├── cpuset.sched_load_balance
│   │   ├── cpuset.sched_relax_domain_level
│   │   ├── machine-qemu\x2dotrs.scope
│   │   │   ├── cgroup.clone_children
│   │   │   ├── cgroup.event_control
│   │   │   ├── cgroup.procs
│   │   │   ├── cpuset.cpu_exclusive
│   │   │   ├── cpuset.cpus
│   │   │   ├── cpuset.mem_exclusive
│   │   │   ├── cpuset.mem_hardwall
│   │   │   ├── cpuset.memory_migrate
│   │   │   ├── cpuset.memory_pressure
│   │   │   ├── cpuset.memory_spread_page
│   │   │   ├── cpuset.memory_spread_slab
│   │   │   ├── cpuset.mems
│   │   │   ├── cpuset.sched_load_balance
│   │   │   ├── cpuset.sched_relax_domain_level
│   │   │   ├── emulator
│   │   │   │   ├── cgroup.clone_children
│   │   │   │   ├── cgroup.event_control
│   │   │   │   ├── cgroup.procs
│   │   │   │   ├── cpuset.cpu_exclusive
│   │   │   │   ├── cpuset.cpus
│   │   │   │   ├── cpuset.mem_exclusive
│   │   │   │   ├── cpuset.mem_hardwall
│   │   │   │   ├── cpuset.memory_migrate
│   │   │   │   ├── cpuset.memory_pressure
│   │   │   │   ├── cpuset.memory_spread_page
│   │   │   │   ├── cpuset.memory_spread_slab
│   │   │   │   ├── cpuset.mems
│   │   │   │   ├── cpuset.sched_load_balance
│   │   │   │   ├── cpuset.sched_relax_domain_level
│   │   │   │   ├── notify_on_release
│   │   │   │   └── tasks
│   │   │   ├── notify_on_release
│   │   │   ├── tasks
│   │   │   ├── vcpu0
│   │   │   │   ├── cgroup.clone_children
│   │   │   │   ├── cgroup.event_control
│   │   │   │   ├── cgroup.procs
│   │   │   │   ├── cpuset.cpu_exclusive
│   │   │   │   ├── cpuset.cpus
│   │   │   │   ├── cpuset.mem_exclusive
│   │   │   │   ├── cpuset.mem_hardwall
│   │   │   │   ├── cpuset.memory_migrate
│   │   │   │   ├── cpuset.memory_pressure
│   │   │   │   ├── cpuset.memory_spread_page
│   │   │   │   ├── cpuset.memory_spread_slab
│   │   │   │   ├── cpuset.mems
│   │   │   │   ├── cpuset.sched_load_balance
│   │   │   │   ├── cpuset.sched_relax_domain_level
│   │   │   │   ├── notify_on_release
│   │   │   │   └── tasks
│   │   │   └── vcpu1
│   │   │       ├── cgroup.clone_children
│   │   │       ├── cgroup.event_control
│   │   │       ├── cgroup.procs
│   │   │       ├── cpuset.cpu_exclusive
│   │   │       ├── cpuset.cpus
│   │   │       ├── cpuset.mem_exclusive
│   │   │       ├── cpuset.mem_hardwall
│   │   │       ├── cpuset.memory_migrate
│   │   │       ├── cpuset.memory_pressure
│   │   │       ├── cpuset.memory_spread_page
│   │   │       ├── cpuset.memory_spread_slab
│   │   │       ├── cpuset.mems
│   │   │       ├── cpuset.sched_load_balance
│   │   │       ├── cpuset.sched_relax_domain_level
│   │   │       ├── notify_on_release
│   │   │       └── tasks
│   │   ├── notify_on_release
│   │   └── tasks
│   ├── notify_on_release
│   ├── release_agent
│   └── tasks
├── devices
│   ├── cgroup.clone_children
│   ├── cgroup.event_control
│   ├── cgroup.procs
│   ├── cgroup.sane_behavior
│   ├── devices.allow
│   ├── devices.deny
│   ├── devices.list
│   ├── notify_on_release
│   ├── release_agent
│   ├── system.slice
│   │   ├── cgroup.clone_children
│   │   ├── cgroup.event_control
│   │   ├── cgroup.procs
│   │   ├── devices.allow
│   │   ├── devices.deny
│   │   ├── devices.list
│   │   ├── notify_on_release
│   │   ├── systemd-machined.service
│   │   │   ├── cgroup.clone_children
│   │   │   ├── cgroup.event_control
│   │   │   ├── cgroup.procs
│   │   │   ├── devices.allow
│   │   │   ├── devices.deny
│   │   │   ├── devices.list
│   │   │   ├── notify_on_release
│   │   │   └── tasks
│   │   └── tasks
│   └── tasks
└── systemd
    ├── cgroup.clone_children
    ├── cgroup.event_control
    ├── cgroup.procs
    ├── cgroup.sane_behavior
    ├── machine.slice
    │   ├── cgroup.clone_children
    │   ├── cgroup.event_control
    │   ├── cgroup.procs
    │   ├── machine-qemu\x2dotrs.scope
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── notify_on_release
    │   └── tasks
    ├── notify_on_release
    ├── release_agent
    ├── system.slice
    │   ├── cgroup.clone_children
    │   ├── cgroup.event_control
    │   ├── cgroup.procs
    │   ├── chronyd.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── dbus.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── dev-disk-by\x2did-scsi\x2d36003005701b46bf01b0d2db32bcaee78.swap
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── dev-disk-by\x2did-wwn\x2d0x6003005701b46bf01b0d2db32bcaee78.swap
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── dev-disk-by\x2dlabel-SWAP.swap
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── dev-disk-by\x2dpath-pci\x2d0000:02:00.0\x2dscsi\x2d0:2:1:0.swap
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├──
dev-disk-by\x2duuid-102d41a8\x2d848d\x2d4525\x2db39e\x2dd9b543355b71.swap
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── dev-mqueue.mount
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── dev-sdb.swap
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── kmod-static-nodes.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── libvirtd.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── libvirt-guests.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── mnt-amhold.mount
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── mnt-btrfs_windows.mount
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── -.mount
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── notify_on_release
    │   ├── run-user-0.mount
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── system-amanda.slice
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-journald.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-logind.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-machined.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-random-seed.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-remount-fs.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-sysctl.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-tmpfiles-setup-dev.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-tmpfiles-setup.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-udevd.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-udev-settle.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-udev-trigger.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-update-utmp.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-user-sessions.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── systemd-vconsole-setup.service
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── system-getty.slice
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── getty@tty1.service
    │   │   │   ├── cgroup.clone_children
    │   │   │   ├── cgroup.event_control
    │   │   │   ├── cgroup.procs
    │   │   │   ├── notify_on_release
    │   │   │   └── tasks
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── system-network.slice
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── system-sshd.slice
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   ├── sshd@3-172.32.99.234:22-172.32.99.12:43817.service
    │   │   │   ├── cgroup.clone_children
    │   │   │   ├── cgroup.event_control
    │   │   │   ├── cgroup.procs
    │   │   │   ├── notify_on_release
    │   │   │   └── tasks
    │   │   ├── sshd@7-172.32.99.234:22-172.32.99.12:44251.service
    │   │   │   ├── cgroup.clone_children
    │   │   │   ├── cgroup.event_control
    │   │   │   ├── cgroup.procs
    │   │   │   ├── notify_on_release
    │   │   │   └── tasks
    │   │   └── tasks
    │   ├── system-systemd\x2dfsck.slice
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── tasks
    │   ├── tmp.mount
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   ├── var-tmp-portage.mount
    │   │   ├── cgroup.clone_children
    │   │   ├── cgroup.event_control
    │   │   ├── cgroup.procs
    │   │   ├── notify_on_release
    │   │   └── tasks
    │   └── vixie-cron.service
    │       ├── cgroup.clone_children
    │       ├── cgroup.event_control
    │       ├── cgroup.procs
    │       ├── notify_on_release
    │       └── tasks
    ├── tasks
    └── user.slice
        ├── cgroup.clone_children
        ├── cgroup.event_control
        ├── cgroup.procs
        ├── notify_on_release
        ├── tasks
        └── user-0.slice
            ├── cgroup.clone_children
            ├── cgroup.event_control
            ├── cgroup.procs
            ├── notify_on_release
            ├── session-2.scope
            │   ├── cgroup.clone_children
            │   ├── cgroup.event_control
            │   ├── cgroup.procs
            │   ├── notify_on_release
            │   └── tasks
            ├── session-4.scope
            │   ├── cgroup.clone_children
            │   ├── cgroup.event_control
            │   ├── cgroup.procs
            │   ├── notify_on_release
            │   └── tasks
            ├── session-8.scope
            │   ├── cgroup.clone_children
            │   ├── cgroup.event_control
            │   ├── cgroup.procs
            │   ├── notify_on_release
            │   └── tasks
            ├── tasks
            └── user@0.service
                ├── cgroup.clone_children
                ├── cgroup.event_control
                ├── cgroup.procs
                ├── notify_on_release
                └── tasks

63 directories, 393 files


>> /dev/sda on /mnt/btrfs_windows type btrfs (rw,noatime,space_cache)
> 
> a little odd that you have no partitions but otherwise minor.

That is btrfs-specific ... the whole /dev/sda is the btrfs-pool.

>> the last line is meant as a target directory for dumping the content of
>> the LV winserver_disk0  ... it is a btrfs subvolume mounted with
>> compression turned OFF.
>>
> 
> if you consider that your drives are on the same raidset, they are all
> essentially "one disk".
> copying from one disk to the same disk you are halving the speed it will
> work at.

... sure ... but not THAT slow ... with 6 disks I would assume to still
get decent performance.

I want both performance and redundance so I went for this setup.

KVM images on btrfs: bad idea (or: not the best idea)

on LVM: I want to run virt-backup for backing up the raw disk image, I
do that on ~3 other customer servers and it works fine ... so ...

Maybe I have to rethink the RAID setup, yes.

What is a best practise here?

One big hw-array with RAID6 -> /dev/sda and then partition it like

sda1 -> /
sda2 -> swap
sda3 -> LVM -> KVM-LVs ...

?



Reply via email to