Как добавить кэш SSD на зашифрованный жесткий диск для настольных ПК /GUI?

SSHD, похоже, застряли в 4 ТБ и 8 ГБ кеш SSD ( одна модель доступна с 1 ТБ /32 ГБ), в то время как большие SSD широко доступны, и существуют некоторые решения для сопряжения жесткого диска с SSD в Linux. Я ищу решение, которое легко использовать на рабочем столе после его установки. В идеале нужно щелкнуть один или два значка запуска, ввести пароли для зашифрованного хранилища и смонтировать диск в Nautilus без необходимости запоминать какие-либо конкретные команды.

  • Все данные хранилища и кеша должны храниться в зашифрованном виде.
  • Отдельный большой жесткий диск доступен для переноса данных на новые схемы разделов или на то, что когда-либо потребуется.

Статьи по теме, которые я прочитал до сих пор:

1 ответ

некорневой LVM на LUKS

Вступление

Информация:

  • Я только начал использовать LVM из-за этой функции, и я намеревался использовать зашифрованный раздел данных с SSD для кэширования.
  • Я обычно использую ZFS в Linux (см. Также ARC) для архивирования данных и избыточности, которые, как представляется, легче администрировать и настраивать. Возможно, вы захотите взглянуть на ZFS, если хотите использовать более одного жесткого диска, однако преимущество, которое LVM имеет над ZFS в Linux, заключается в том, что он не опирается на встроенный модуль ядра DKMS, который может не собираться и работать правильно, если вам нужно например, использовать основные ядра из ядра PPA. (Может быть, я делаю что-то не так с ZFS, но некоторые статьи о Phoronix читаются так, как будто это так.)
  • Это предназначено для использования на рабочих станциях, и предпочтительнее использовать решения с графическим интерфейсом, чтобы показать, чего можно достичь с помощью графического интерфейса в настоящее время.

Предостережение:

  • Не просто добавляйте SSD в качестве кеша на ваш жесткий диск и ожидайте значительного увеличения производительности. BX200 с 480 ГБ, который я сейчас использую, выглядит разумно, но показал более медленную скорость записи, чем жесткие диски, в тестах и ​​обзорах продуктов. Также обратите внимание, что оба устройства должны записывать данные по умолчанию в одно и то же время, когда они не находятся в режиме кэширования с обратной записью, что повышает риск повреждения данных, поэтому не следует путать удвоенную общую скорость передачи и медленную запись в таких инструментах, как индикатор -multiload.

Обзор:

Чтобы обеспечить более глубокое понимание, вот что я настроил на виртуальной машине после прочтения статей в этом вопросе перед тем, как попробовать ее на реальном оборудовании. luks- именованные устройства автоматически создаются при использовании графического интерфейса пользователя для разблокировки зашифрованных устройств, LVM обнаружит, что устройства стали доступны, и предложит вам смонтировать файловые системы в nautilus как обычно.

lwbt@vxenial:~$ lsblk
…    
sdb                                           8:16   0    8G  0 disk
└─luks-6bc875f1-de30-4698-ba74-eea2c5d5bb87 252:0    0    8G  0 crypt 
  └─vg0-datalv_corig                        252:5    0  7,9G  0 lvm
    └─vg0-datalv                            252:1    0  7,9G  0 lvm
sdc                                           8:32   0    8G  0 disk
└─luks-e20dd038-9886-4895-b786-855ba4c31c7e 252:2    0    8G  0 crypt 
  ├─vg0-cache_cdata                         252:3    0    8G  0 lvm 
  │ └─vg0-datalv                            252:1    0  7,9G  0 lvm 
  └─vg0-cache_cmeta                         252:4    0   12M  0 lvm 
    └─vg0-datalv                            252:1    0  7,9G  0 lvm 


lwbt@vxenial:~$ ll /dev/mapper/
total 0
drwxr-xr-x  2 root root     180 Sep  6 02:54 ./
drwxr-xr-x 20 root root    4420 Sep  6 02:54 ../
crw-------  1 root root 10, 236 Sep  6 00:37 control
lrwxrwxrwx  1 root root       7 Sep  6 02:54 luks-6bc875f1-de30-4698-ba74-eea2c5d5bb87 -> ../dm-0
lrwxrwxrwx  1 root root       7 Sep  6 02:54 luks-e20dd038-9886-4895-b786-855ba4c31c7e -> ../dm-2
lrwxrwxrwx  1 root root       7 Sep  6 02:54 vg0-cache_cdata -> ../dm-3
lrwxrwxrwx  1 root root       7 Sep  6 02:54 vg0-cache_cmeta -> ../dm-4
lrwxrwxrwx  1 root root       7 Sep  6 02:54 vg0-datalv -> ../dm-1
lrwxrwxrwx  1 root root       7 Sep  6 02:54 vg0-datalv_corig -> ../dm-5

Вывод lsblk может иметь дополнительный уровень, если вы разбиваете блочные устройства (SSD/HDD) вместо прямого шифрования их с помощью LUKS. Конечно, если вас не интересует шифрование LUKS, вы можете пропустить эти шаги в следующих инструкциях, что тоже хорошо.

инструкции

Установите необходимые пакеты:

sudo apt install lvm2 thin-provisioning-tools cryptsetup

Команды в следующем разделе уничтожат все существующие данные на дисках.

Зашифруйте каждое отдельное устройство:

sudo cryptsetup luksFormat ${device_name}
sudo cryptsetup luksOpen ${device_name} ${mapper_name_hdd_or_ssd}

Примечание: gnome-disk имеет опции для шифрования и монтирования зашифрованных устройств, но также создает файловые системы EXT4, которые необходимо удалить, чтобы продолжить, следуя инструкциям.

Затем добавьте устройство в качестве физического тома в LVM, создайте группу томов (с именем vg0) и логический том (названный datalv) на жестком диске, который будет отформатирован позже для хранения всех данных:

pvcreate /dev/mapper/${mapper_name_hdd}
vgcreate vg0 /dev/mapper/${mapper_name_hdd}
lvcreate -l 100%pvs -n datalv vg0 /dev/mapper/${mapper_name_hdd}

Замечания: 100%pvs создаст том, охватывающий все выбранное вами устройство (например, зашифрованный контейнер или раздел). Более подробную информацию и опции можно найти в lvmcache и других справочных страницах.

Теперь расширьте конфигурацию LVM, добавив SSD в группу томов:

pvcreate /dev/mapper/${mapper_name_ssd}
vgextend vg0 /dev/mapper/${mapper_name_ssd}

Создайте том кеш-пула с именем cache в vg0 на SSD, затем добавьте новый пул кеша в качестве кеша datalv:

lvcreate --type cache-pool -l 100%pvs -n cache vg0 /dev/mapper/${mapper_name_ssd}
lvconvert --type cache --cachepool vg0/cache vg0/datalv

Примечание: lvcreate автоматически выберет для вас оптимальные размеры для cache_cdata и cache_cmeta.

После внесения изменений в конфигурацию LVM может потребоваться повторное сканирование pv, vg и lv для активации устройств LVM, если вы хотите избежать перезагрузки:

pvscan
vgscan
lvscan
vgchange -ay

Следующая команда деактивирует все тома LVM, если имя не указано:

vgchange -an 

Наконец пришло время отформатировать логический том и передать данные.

  1. Пример для форматирования с использованием Gparted GUI

    pkexec gparted /dev/mapper/vg0-datalv
    
  2. Пример форматирования с использованием инструментов командной строки:

    sudo mkfs.ext4 /dev/mapper/vg0-datalv
    

Теперь новая файловая система должна появиться в Nautilus.

использование

Многие команды LVM делают настройку довольно сложной, хотя она может даже не использовать весь потенциал LVM для опытных пользователей, но после ее настройки и перезагрузки компьютера вам просто нужно смонтировать зашифрованные диски из модуля запуска Unity или изнутри gnome- диски, затем подключите том, который отображается в Nautilus, как любая другая файловая система или диск. Запоминание сложных команд не требуется. Насколько мне известно, в настоящее время нет доступных инструментов GUI для обработки LVM пула кеша в Ubuntu.

Заметки:

  • Я предпочитаю монтировать устройство SSD с меньшим зашифрованным кешем перед монтированием HDD
  • Кэш может быть удален и заменен, см. Удаление кеша на странице руководства lvmcache.
  • Для отображения всех метрик о кеше вы можете использовать следующую команду:

    sudo lvs -o+cache_total_blocks,cache_used_blocks,cache_dirty_blocks,cache_read_hits,cache_read_misses,cache_write_hits,cache_write_misses,cachemode,cache_policy,cache_settings
    
Другие вопросы по тегам