На моём домашнем сервере поселился самосборный SSD-диск, основанный на карте Compact Flash. Про то, как его собрать можно почитать в прошлом логе под названием Бюджетный SSD. А как я оптимизировал Debian Lenny и переносил систему на этот самосбор я напишу здесь…
<html> <span style=«color:red;font-size:150%;»>Внимание! Ниже приводятся инструкции, которые при необдуманном использовании могут уничтожить все ваши данные. Будьте осторожны!</span> </html>
Что имеем:
/dev/sda
;/dev/sdb
;Чего хотим: переместить Linux с жёсткого диска на бюджетный SSD.
Как делаем:
echo 0,,,* | sudo sfdisk /dev/sdb -O cf-ssd-sfdisk.backup
sudo mkfs.ext3 -L ROOT /dev/sdb1
sudo aptitude install rsync
for i in /etc/init.d/{apache2,bind9,cron,dnsmasq,exim4,hostapd,nut}; do sudo $i stop; done;
sudo mkdir /mnt/ssd && sudo mount /dev/sdb1 /mnt/ssd sudo rsync -ax / /mnt/ssd/
echo "(hd0) /dev/sdb" | sudo tee /mnt/ssd/boot/grub/device.map sudo grub-install --root-directory=/mnt/ssd --no-floppy /dev/sdb echo "(hd0) /dev/sda" | sudo tee /mnt/ssd/boot/grub/device.map
... # kopt=root=LABEL=ROOT rootflags=data=writeback ro ... kernel /boot/vmlinuz-2.6.32-bpo.5-486 root=LABEL=ROOT rootflags=data=writeback ro ...
default saved timeout 5 title Debian GNU/Linux, kernel 2.6.32-bpo.5-486 root (hd0,0) kernel /boot/vmlinuz-2.6.32-bpo.5-486 root=UUID=ca08484c-1fe1-4bc0-80cc-19940214b601 ro initrd /boot/initrd.img-2.6.32-bpo.5-486 savedefault title Debian GNU/Linux, kernel 2.6.32-bpo.5-486 root (hd1,0) kernel /boot/vmlinuz-2.6.32-bpo.5-486 root=LABEL=ROOT rootflags=data=writeback ro initrd /boot/initrd.img-2.6.32-bpo.5-486 savedefault 0
sudo grub-set-default 1
kernel.panic = 60
# configure settings in /proc/sys/vm/* # агрессивность использования swap vm.swappiness = 0 # как часто ядро должно находить незаписанные в ФС данные и писать их vm.dirty_writeback_centisecs = 6000 # сколько времени должно пройти, чтобы ядро посчитало незаписанные в ФС данные достаточно устаревшими для их записи vm.dirty_expire_centisecs = 6000 # сколько процентов памяти могут занимать незаписанные в ФС данные vm.dirty_ratio = 80 # если незаписанные данные занимают меньше памяти в процентах, то их можно не записывать сейчас vm.dirty_background_ratio = 20
Внимание! БОльшая часть этих настроек увеличивает использование памяти. Что, в свою очередь, увеличивает риск её полного заполнения, что может вызвать принудительное закрытие программ ядром. Такое может случиться даже при наличии свободной памяти, но если ядру вдруг понадобится зарезервировать большую непрерывную область памяти, а доступны будут только фрагментированные участки. Рекомендую внимательно следить за использованием памяти и подстраивать настройки под своё оборудование 3) 4)
... LABEL=ROOT / ext3 noatime,nodiratime,data=writeback,commit=50,rw,suid,dev,exec,auto,nouser,async,errors=remount-ro 0 1
sudo umount /mnt/ssd
sudo aptitude remove mlocate
Подробнее про оборудование и другие настройки моего домашнего сервера - в следующих логах.
~~DISCUSSION~~