2015-03-01 Удалённое изнасилование: миграция сервера с 32 на 64 бита

Материал из YourcmcWiki
Перейти к: навигация, поиск

О, я крут. Вчера удалённо сменил систему (Debian Wheezy) на сервачке с 32-х на 64-х битную.

Применил для этого свою «аварийную систему», состоящую из dropbear и busybox в initramfs (очень рекомендую, удобная штука).

Общая схема действий у меня была такая — почистить систему от устаревших пакетов, перейти на 64-битное ядро, создать 64-битную копию системы из тех же пакетов и потом через аварийную систему (dropbear) заменить содержимое / и /usr на 64-битное, оставив старые /etc и /var.

В целом, за исключением некоторых нюансов, после такой операции система стартует без особых проблем. Какие конкретно есть нюансы:

  • Чтобы поставить все те же пакеты в 64-битном виде, сначала нужно почистить систему от устаревших пакетов. Для этого удобно использовать Aptitude — оно умеет показывать «локальные/устаревшие» пакеты — то есть установленные, но которых при этом нет в репозиториях. Все такие пакеты надо прибить или на что-то заменить — собственно, это вообще полезно, система чище будет.
  • Модули perl/python/ruby/php, установленные через cpan/pip/gem/pear, естественно, в 64-битной системе нужно установить заново.
  • Данные MySQL (InnoDB) трогать не надо — они отлично переносятся, формат хранения архитектурно-независим.
  • Базы данных dpkg и debconf (/var/lib/dpkg и /var/cache/debconf) нужно обязательно скопировать из chroot’а от новой 64-битной системы в свой /var, в целом остающийся от старой системы без изменений).
  • Некоторые alternatives — конкретно, java’шные — могут поломаться, их нужно починить (update-alternatives --all).
  • /etc/ld.so.conf.d/* нужно тоже взять от 64-битной системы.
  • Базы данных rrdtool архитектурно-зависимы! Их нужно сделать dump/restore. Актуально для систем мониторинга — nagios, munin и подобные, как правило, именно RRD и используют.

UPD: А ведь действительно, о потреблении памяти-то я и не подумал. Оно в 64-битной версии возросло очень прилично — после echo 3 > /proc/sys/vm/drop_caches в 32-битной системе занято 1.85 гб, а в 64-битной — 2.9 гб при идентичном наборе запущенных сервисов. Налицо рост на 56 %… Ну ладно. Технология удалённого изнасилования уже отработана — вернул 32-битную систему взад ))

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.