После создания lvm
dd if=/dev/zero of=1.img bs=1M count=16384 dd if=/dev/zero of=2.img bs=1M count=16384 losetup /dev/loop1 1.img losetup /dev/loop2 2.img pvcreate /dev/loop1 pvcreate /dev/loop2 vgcreate LVM1 /dev/loop1 /dev/loop2 vgchange -an LVM1
Выделяю объем 10G и форматирую
lvcreate -L10240 -n lv_34179984_0 LVM1 mkfs.xfs /dev/LVM1/lv_34179984_0 mount -t xfs /dev/LVM1/lv_34179984_0 /home/test/image
Когда я пытаюсь скопировать файл 8G в / home / test / image, он блокируется после копирования 215M, iostat дает мне
avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.00 29.82 0.00 70.18 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00 100.20
Как это решить?
Вы решаете эту проблему, не создавая файловую систему поверх группы томов поверх файлов, которые уже находятся в файловой системе (возможно, в группе томов) на диске. Чтобы использовать ссылку на начало, вы зашли слишком глубоко, мой друг.
Каждый раз, когда вы пытаетесь что-то сделать на /home/test/image
ваша система должна пройти следующие шаги:
/home/test/image
loop1
1.img
1.img
жизниloop2
2.img
2.img
жизниЭто по-прежнему оставляет без внимания кучу промежуточных шагов, которые происходят в ядре всякий раз, когда вы инициируете дисковый ввод-вывод (физический диск или устройство цикла). Проще говоря, вы просите свою систему сделать так много работы, что производительность будет ужасной.
Вы можете немного улучшить производительность, поставив 1.img
и 2.img
на отдельных физических дисках, но это вряд ли даст существенную пользу. Единственный реальный вариант для достойной производительности - это создать группу томов на физические диски.