LINUX.ORG.RU

RAID (mdadm+LVM) и TRIM

 , , , ,


0

1

Добрый день.

Столкнулся со следующей проблемой.

# fstrim -v /
fstrim: /: the discard operation is not supported

При проведении операции например на /boot - та жа песня.

Настройки следующие:

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md1 : active raid5 sda2[0] sdc2[2] sdb2[1]
      933533696 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      bitmap: 1/4 pages [4KB], 65536KB chunk

md0 : active raid5 sdc1[5] sda1[3] sdb1[4]
      3901440 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>
# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/raid_md1-root_dir /               ext4    discard,errors=remount-ro 0       1
# /boot was on /dev/md0 during installation
UUID=a399b505-ab26-4a6b-863c-ca2032007be3 /boot           ext4    discard 0       2
/dev/mapper/mountdisk-mountdisk /mountdisk      ext4    defaults        0       2
/dev/mapper/raid_md1-tmp /tmp            ext4    discard 0       2
/dev/mapper/raid_md1-var /var            ext4    discard 0       2
/dev/mapper/raid_md1-archive /var/cache/apt/archives ext4    discard 0       2
/dev/mapper/raid_md1-log /var/log        ext4    discard 0       2
/dev/mapper/raid_md1-swap none            swap    sw              0       0
#  hdparm -I /dev/sda | grep "TRIM"
           *    Data Set Management TRIM supported (limit 8 blocks)
           *    Deterministic read ZEROs after TRIM
#  hdparm -I /dev/sdb | grep "TRIM"
           *    Data Set Management TRIM supported (limit 8 blocks)
           *    Deterministic read ZEROs after TRIM
#  hdparm -I /dev/sdc | grep "TRIM"
           *    Data Set Management TRIM supported (limit 8 blocks)
           *    Deterministic read ZEROs after TRIM
# lsblk -D
NAME                    DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda                            0        4K       2G         0
├─sda1                         0        4K       2G         0
│ └─md0                        0        1M     256M         0
└─sda2                         0        4K       2G         0
  └─md1                        0        1M     256M         0
    ├─raid_md1-swap            0        1M     256M         0
    ├─raid_md1-tmp             0        1M     256M         0
    ├─raid_md1-var             0        1M     256M         0
    ├─raid_md1-archive         0        1M     256M         0
    ├─raid_md1-log             0        1M     256M         0
    └─raid_md1-root_dir        0        1M     256M         0
sdb                            0        4K       2G         0
├─sdb1                         0        4K       2G         0
│ └─md0                        0        1M     256M         0
└─sdb2                         0        4K       2G         0
  └─md1                        0        1M     256M         0
    ├─raid_md1-swap            0        1M     256M         0
    ├─raid_md1-tmp             0        1M     256M         0
    ├─raid_md1-var             0        1M     256M         0
    ├─raid_md1-archive         0        1M     256M         0
    ├─raid_md1-log             0        1M     256M         0
    └─raid_md1-root_dir        0        1M     256M         0
sdc                            0        4K       2G         0
├─sdc1                         0        4K       2G         0
│ └─md0                        0        1M     256M         0
└─sdc2                         0        4K       2G         0
  └─md1                        0        1M     256M         0
    ├─raid_md1-swap            0        1M     256M         0
    ├─raid_md1-tmp             0        1M     256M         0
    ├─raid_md1-var             0        1M     256M         0
    ├─raid_md1-archive         0        1M     256M         0
    ├─raid_md1-log             0        1M     256M         0
    └─raid_md1-root_dir        0        1M     256M         0
sdd                            0        0B       0B         0
└─sdd1                         0        0B       0B         0
  └─mountdisk-mountdisk        0        0B       0B         0
sde                            0        0B       0B         0
└─sde1                         0        0B       0B         0

Как заставить TRIM работать?

Уже была такая тема недавно. Ищи по тегам, что ли.

r3lgar ★★★★★ ()
Ответ на: комментарий от Krishnoved

Если имеется ввиду этот тред

Нет, не этот.

Там было про явное включение trim везде, более подробно не помню, и найти не могу, возможно у меня тайм-коллапс, и это было уже давно.

r3lgar ★★★★★ ()
Ответ на: комментарий от Krishnoved

Удали временно /dev/sdc1 из рейда, создай на /dev/sdc1 ext4. На ней будет работать fstrim.

Твоя проблема - raid5 c огромным размером chunk (512К), который для ext4 c 4к блоком бесполезен.

vel ★★★★★ ()
Ответ на: комментарий от Nastishka

Спасибо за наводку. Будем смотреть. По результатам отпишу.

Krishnoved ()
Ответ на: комментарий от vel

Проверил. Трим без LVM и mdadm проходит. Следующий вопрос.

С какими парамтерами настроить RAID5?

Krishnoved ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.