Mam pewne SSD zamontowany na /dev/sda1
i /dev/sdb1
na serwerze SLES 11 SP2, i udało mi się dostosować do odczytu z wyprzedzeniem ustawienie z blockdev --setra
:
sudo blockdev --setra 4096 /dev/sda
sudo blockdev --setra 4096 /dev/sdb
sudo blockdev --getra /dev/sda
4096
sudo blockdev --getra /dev/sdb
4096
Jak mogę zachować to ustawienie podczas uruchamiania? W szczególności, czy istnieje odpowiednie ustawienie sysctl.conf
, czy będę musiał zadowolić się skryptem rc, aby to się stało?
block-device
ssd
sles
Banjer
źródło
źródło
Odpowiedzi:
Sugeruję użycie udev do ustawienia parametrów dysków SSD. W ten sposób możesz skonfigurować określony harmonogram kolejki, który jest bardziej odpowiedni dla SSD itp. Możesz także zastosować parametry tylko do niektórych urządzeń, w oparciu o wiele parametrów.
Możesz uzyskać określone atrybuty niezbędne do dopasowania urządzeń (np. Model dysku i producenta), wykonując:
i sprawdzanie wszystkich par ATTR dla urządzenia blokowego.
Kolejną korzyścią jest możliwość ustawienia parametrów dysków wtykowych (np. W obudowach lub wnękach hotswap), a ustawienie zostanie zastosowane do wszystkich nowych urządzeń, pod warunkiem, że parametry urządzenia są zgodne.
Oto przykład zastosowania konkretnego harmonogramu dla dysków SSD Intel, pożądanej wartości głowicy readahead (4096 bloków = 2048 kb), a także zastosowania innego harmonogramu dla wszystkich innych dysków SSD:
Po zapisaniu pliku możesz sprawdzić, czy reguła będzie pasować do urządzenia i co udev zrobi za pomocą udevadm:
Spowoduje to wydrukowanie wszystkich reguł, które ładuje udev, co pasuje, co nie pasuje i jakie decyzje podejmą udev po podłączeniu urządzenia.
Mam nadzieję że to pomoże.
źródło
OCZ vertex 3
z nich, ale nie sądzę, by sugerowane reguły były specyficzne dla Intela, z wyjątkiem pola modelu, prawda?udevadm info
aby znaleźć parametry specyficzne dla twojego sprzętu.Pamiętaj, że odczyt z wyprzedzeniem można ustawić przynajmniej za pomocą
/sys
(/sys/class/block/sda/queue/read_ahead_kb
)blockdev
ihdparm
(hdparm -a
).hdparm
w Debianie i jego pochodnych jest dostarczany zhdparm.conf
atrybutem określającym atrybuty dla poszczególnych urządzeń, które należy ustawić podczas rozruchu oraz podczas hot-plug (poprzezudev
reguły).Możesz mieć:
(lepiej używać identyfikatorów,
sda
które można zmienić z jednego rozruchu na drugi).źródło
hdparm
na SLES 11, ale nie mogę go zlokalizowaćhdparm.conf
. Wydaje się, że Google mówi mi, że skrypt rc jest niezbędny do zachowania jakichkolwiekhdparm
ustawień, przynajmniej na SuSE.hdparm
odpowiednio. Zaktualizowałem odpowiedź./sys
ścieżki, chociażudev
reguła @zorlem jest całkiem niezła w konfiguracji rozruchowej .Nie ma w tym nic odpowiadającego
sysctl
, więc tak,/etc/rc.local
jest drogą lub tym podobnym. I uwaga, - osobiście zauważyłem, że na Ubuntu - zmiany te dalej się zmieniają, nawet gdy są ustawiane raz po starcie, więc może wartocrontab
je zachować.źródło