Ситуация: есть сервер, в котором вместо жёстких дисков установлены SSD-носители (два "диска" в аппаратном зеркале). Предполагается установить на него SLES12sp1.
Вопрос: какие будут рекомендации по настройке операционки с учётом SSD?
Интересует, в первую очередь, необходимость передавать носителю данные о неиспользуемых блоках с помощью команд TRIM/UNMAP (для повышения эффективности записи и продления срока службы носителя).
Что-то я слегка в этом запутался. С одной стороны, если погуглить, то первое, что попадается, - это рекомендации выбирать файловые системы с поддержкой опции монтирования "-o discard" (из которых в 12-м SLES-е - Ext4, BtrFS и XFS). С другой стороны, многие утверждают, что лучше пользоваться альтернативным механизмом: запускать время от времени либо утилиту fstrim, либо специальный скрипт, который будет передавать носителю данные о неиспользуемых блоках для их зачистки. В частности, второго подхода придерживается официальная документация:
Однако, несмотря на то, что файловой системой по умолчанию в 12-м SLES-е является btrfs, упомянутый скрипт (wiper.sh) её не поддерживает, о чём недвусмысленно сказано в том самом README.wiper. Техподдержка SUSE на это несоответствие ответила:On solid state drives (SSDs) and thinly provisioned volumes it is useful to trim blocks not in use by the file system. SUSE Linux Enterprise Server fully supports unmap or trim operations on all file systems supporting these methods.
The recommended way to trim a supported file system on SUSE Linux Enterprise Server is to run /sbin/wiper.sh. Make sure to read /usr/share/doc/packages/hdparm/README.wiper before running this script. For most desktop and server systems the sufficient trimming frequency is once a week. Mounting a file system with -o discard comes with a performance penalty and may negatively affect the lifetime of SSDs and is not recommended.
(правда, не уточнив, насколько это soon и что именно там в этом отношении поменяется), а от дальнейших рекомендаций воздержалась, вежливо послав нафиг(зачёркнуто) в платный консалтингno, in my opinion BTRFS is not mature enough to use it with SSD disks now, but feel free to test it out first, it might work just fine for you, it really depends. It would be good to wait until we release SLES12SP2, which is coming out soon.
Пока что наиболее адекватным источником информации выглядит вот эта ссылка.
Чтобы ещё больше запутать ситуацию, можно добавить вот такое упоминание:
Из последней фразы можно предположить, что и опция монтирования -o discard для этой файловой системы не нужна – и так всё должно работать хорошо (поскольку "automatically"); но кто его знает.A Btrfs filesystem will automatically free unused blocks from an SSD drive supporting the TRIM command.
Ну и чтобы запутать окончательно, добавлю, что на двух разных серверах с SSD (правда, там установлен SLES 11) и утилита fstrim, и скрипт wiper.sh присутствуют, но работать отказываются, т.к. SSD-носители скрыты за аппаратным RAID-контроллером, который не показывает подробностей о нижележащей структуре предоставляемого блочного устройства:
- Код: Выделить всё
host1:~ # hdparm -I /dev/sda
/dev/sda:
HDIO_DRIVE_CMD(identify) failed: Invalid exchange
host1:~ #
В общем, какие будут соображения?