Kir Kolyshkin (k001) wrote,
Kir Kolyshkin
k001

Category:

апгрейд фаервола

Сугубо железное и чуток линуксоидное...

У меня в фаерволе-роутере (P2/266, 128Mb, Gentoo Linux) вторым диском стоит SCSI на 2.1Gb. Ну, просто был лишний диск, а на мамке контроллер, а на первом диске (3.2Gb IDE) места не так уж и хватало, т.е. он был совсем почти полон (это всё из-за Gentoo, там всякие исходники много места занимают; их, конечно, можно удалять периодически, но ломает). Так вот, этот самый SCSI диск ужасно выл почему-то, вероятно, из-за какого-то дефекта подшипников или пластин, в общем, вуу-вуу-вууу стояло постоянно. Днём, конечно, не слышно, а ночью есть немного. А когда мы стали вести половую жизнь (то есть спать на полу, а не на диване) — стало вообще невыносимо, и даже я, даже я пару раз не выносил этих завываний и фаервол тупо кнопочкой выключал.

Сперва стал решать я эту проблему программно. Винты же IDEшные спят? Значит, сказёвые тем более должны уметь. Порылся в Инете, нашёл-таки пару утилит, одна из которых после небольшого подпатчивания даже стала компилироваться и заработала! Положил я её в /usr/local/bin, поставил в крон в 10 вечера spindown, а в 9 утра - обратное включение (всякие разные кронджобы типа update --sync и прочие updatedb я давно уже перенёс на дневное время). Поставил, и тут же огрёб ужасающих проблем — не умеет линуксовое ядро при необходимости раскручивать сказёвый винт, а так как на том винте лежит ни много ни мало сама /var партиция, то стало системе очень худо.

Понял я на этом месте, что вариантов у меня есть два - или перераспределять данные так, чтобы на сказях лежало что-нибудь менее волатильное, чем /var или менять винт на что-то менее завывающее. Идея о перераспределении мне не очень понравилось (раньше надо было думать!), поэтому я решил действовать по второму варианту, благо случайно у меня в коллекции железяк оказался второй точно такой же винт (при натурных испытаниях показавший себя с лучшей стороны....то есть он не воет, в отличие от первого).

Осталась сущая ерунда - выставить на новом винте SCSI ID, отличающийся от 0 и 7, воткнуть его (винт, а не ID) рядом со старым (благо на шлейфе разъёмов есть), и в single-user mode, отмонтировав /var сказать что-то типа dd if=/dev/sda of=/dev/sdb.

Хренушки! Не заработали у меня вместе два SCSI-винта — всё время почему-то работал только один из них, как я не бился. По зрелому размышлению пришла в голову гипотеза о том, что им не хватает напруги от БП. И точно - тот именно винт, который вставал на один шлейф питания вместе с IDE-винтом, работать не хотел. А шлейфов всего два.

Дошёл до очередной точки принятия решения, вариантов - три. Или поменять БП на более мощный, или отсоединить IDE и грузиться с сидюка, или оставить идею переписывания напрямую с диска на диск, а воспользоваться временным носителем. Не знаю, почему, но выбрал я вариант нумер три, достал из коллекции железячек ещё один IDE-винт на 3.2Gb и слил на него содержимое SCSI. Потом вместо воющего винта поставил невоющий и слил на него данные со временного носителя.

За бортом этой истории я оставлю, пожалуй, описание того, как я сливал раздел, не отмонтировав партицию, и что из этого потом получилось. Не стану рассказывать, как ведёт себя Gentoo, когда всё read-only и shutdown-скрипты от того не работают. Скажу только, что финал этой истории радостный - ещё через час всё заработало, и теперь я могу спать спокойно, и спал бы, если бы не писал ночами в ЖЖ такие длинные и дурацкие истории.

Следующее улучшение (мы медленно, но верно движемся к идеалу) — унос фаервола в коридор, пусть себе жужжит там — осложнено отсутствием в коридоре электрических розеток. Но как-нибудь я и с этим справлюсь, вот только задние тормоза у авто починю.
Tags: gentoo, hardware, homemade, linux
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 13 comments