Pull to refresh

Comments 10

впервые слышу что если повредился swap раздел то не сможет загрузиться система.
Да даже на работающем сервере можно почти всегда выполнить команду swapoff и при этом ничего не повредить. А уж про то что при загрузке нужен swap и речи нет. Ну и становится не понятно зачем swap вообще помещать на soft raid? Для того чтобы когда сервак будет свапить он занимался еще дополнительно и расчетом данных куда надо поместить данный блок памяти? Мне кажется это лишнее. Во всяком случае я всегда swap разделы при 4 дисках и использовании в soft raid всегда оставляю как 4 независимые раздела на каждом диске.
По ссылке в принципе и сказано, что если вылетит диск который имел swap раздел и были процессы, чьи данные были записаны в этот swap, то скорее всего процесс завершится с ошибкой. В принципе это и понятно, процесс потерял часть данных и не может к ним обратиться. Аналогично тому что вылетела планка памяти куда он записал данные. Но это никак не повлияет на загрузку ОС, swap это продолжение оперативной памяти, и как мы знаем во время перезагрузки она обнуляется. Ну во всяком случае если выключить компьютер то она точно сотрется. Так что это не критично. Да и довольно критично если данные будут сильно уходить в swap. Это будет говорить о том что где-то чего-то не хватает. Ну и активная запись в swap приведет к увеличанию iowait что сразу отразится на загрузке сервера. Уж лучше расширить память, она сейчас вроде не такая дорогая.
Ага, логика мне понятна. Про загрузку соглашусь, поправил статью.
Так как лично я ещё чайник, то пусть лучше некоторое время потормозит сервер работая со swap, чем аварийно красноглазить ночами, в попытке понять что же тут не так и как всё восстановить после того как oom killer что-то отстрелит или рухнет что-то из процессов с потерей данных. В конце-концов и статью писал для таких же чайников как я. :) Умный сисадмин, по-моему, и без моей статьи разберется как разбить диск и что вешать на raid, а что не стоит, а чайникам данный совет по-крайней мере даст время понять что происходит и что делать.

Про активный своппинг я читал. И полностью согласен, что в большинстве случаев при нормальной и отстроенной работе сервера swap использоваться практически не должен. Но при этом есть запущенные, но неактивные в течение длительного времени процессы — система их просто выкидывает в swap. Назначение сервера у меня — веб, то я лучше оперативную память буду использовать для кэша, а некоторые запущенные, менее нужные и редко используемые процессы пусть скидываются в swap, ибо место на жестком диске стоит дешевле оперативки. Хотя данная тема крайне холиварна.
что-то скорость обнуления дисков маленькая, может быть стоит указать bs=1м
Это я ошибся с расчётами времени, получилось 77 минут, т.е. чуть больше часа и скорость записи около 105-110 мегабайт/с на дисках sata2. Для этих дисков скорость приличная и не думаю, что можно выжать заметно больше. В статье есть пример вывода результата команды dd на зануление поверхности.
Но дома попробую поэкспериментировать с размером блока для записи и его влиянием на скорость.
Протестировал с размером блока 1M и 4M — скорость выросла маскимум до 110-112 мегабайт/с.
Если я не ошибаюсь, то для параллельного запуска можно было воспользоваться следующей конструкцией:
nohup dd if=/dev/zero of=/dev/sdd bs=4k &
Где nohup — команда для игнорирования обрыва связи, а & в конце служит для перевода команды в фоновый режим.
Соответственно можно последовательно запустить эту конструкцию для всех дисков, погасить терминал с ssh и идти спать/пить чай.
Спасибо, информация очень полезная. Добавил в статью. И к сожалению не могу выразить спасибо в виде плюса, карма пока ещё не позволяет.
Не за что)) я просто сталкивался с необходимостью запустить команду на сервере и расстраивался, что обрывается задача при падении ssh. Помогли советом на linux.org.ru
Sign up to leave a comment.

Articles