 |
|
- Gennadi Kalaschnikow, 19.12.2003, Gennadi.dyn.ee, оригинал -
У любого сисадмина когда-то возникает необходимость, сервер - его любовь и гордость, в который вложено столько много труда и личной выдумки и который прослужил верой и правдой столько лет, заменить на новый - более мощный и быстрый. Но при этой мысле лоб начинает покрываться лёгкой холодной испариной - компиляция, конфиги, юзеры, профили, пароли...., начинает неприятно сосать под ложечкой...., как в кошмарном сне видится тяжёлый взгляд шефа... и сочувсвующий - секретарши, с которой Вы в хороших отношениях (иначе бы давно уже потеряли любимую работу )... .
Чтобы избежать этой леденящей душу ситуации, я сделал следующее:
( в моём случае это "server.gennadi.ru (192.168.0.1)" - мой сервер и "laptop (192.168.0.2)" - мой компьютер, на которых установлен Linux SuSE 8.2 )
1.) Этим приказом я создал Backup моего Linux-сервера на своём компьютере:
laptop:~ # ssh server.gennadi.ru "cd / ; tar cvzf - . --exclude ./proc --exclude ./srv/ftp " >backup.tar.gz
root@server.gennadi.ru's password:
./
./bin/
./bin/dd
./bin/cp
./bin/df
./bin/ed
./bin/ln
./bin/ls
./bin/mv
./bin/ps
./bin/rm
./bin/sh
./bin/su
.................................
laptop:~ #
|
В этом приказе опции "--exclude ./proc " и" --exclude ./srv/ftp " означают, что я исключил из Backup директории /proc и /srv/ftp, т. к файлы в директории /proc создаёт кернель при старте Linux'а, а в директории /srv/ftp ( мой FTP-Server) лежит 4 GB различного нужного и ненужного софта, копии которого у меня есть на CD.
Через 1час 25 мин я получил на своём компе файл backup.tar.gz размером в 2.7 Gb, в котором запакован весь мой сервер со всеми конфигами, юзерами, профилями ( в том числе и секретарши, с её любимыми mp3 файлами ) , паролями и т.д ..... и положил его в директорию /data.
2.) Стартовал новый сервер с помощью SuSE boot-CD:
- Выбрал manuelle Instalation
- Выбрал язык " english" ( по желанию )
- Выбрал меню "Kernel modules" и загрузил необходимые модули (SCSI, Net, Filesystem etc.)
3.) Стартовал rescue system:
- Start instatllation / system -> rescue system -> CD-ROM
- и зашёл в систему как "root".
4.) С помощью приказа fdisk разбил жёсткий диск на нужные разделы (например так...):
Rescue:~ # fdisk /dev/hda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +256M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (33-2610, default 33):
Using default value 33
Last cylinder or +size or +sizeM or +sizeK (33-2610, default 2610): +5000M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 3
First cylinder (642-2610, default 642):
Using default value 642
Last cylinder or +size or +sizeM or +sizeK (642-2610, default 2610):
Using default value 2610
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (642-2610, default 642):
Using default value 642
Last cylinder or +size or +sizeM or +sizeK (642-2610, default 2610): +8000M
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (1616-2610, default 1616):
Using default value 1616
Last cylinder or +size or +sizeM or +sizeK (1616-2610, default 2610):
Using default value 2610
Command (m for help): a
Partition number (1-6): 2
Command (m for help): b]t[/b]
Partition number (1-6): 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap)
ommand (m for help): p
Disk /dev/hda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 32 257008+ 82 Linux swap
/dev/hda2 * 33 641 4891792+ 83 Linux
/dev/hda3 642 2610 15815992+ 5 Extended
/dev/hda5 642 1615 7823623+ 83 Linux
/dev/hda6 1616 2610 7992306 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Rescue:~ #
|
5.) Теперь сформатировал созданные разделы ( 2, 5, 6 ) файл-системой " reiserfs 3.6 "
Rescue:~ # for i in 2 5 6 ; do mkreiserfs --format 3.6 /dev/hda$i ; done
mkreiserfs 3.6.9 (2003 www.namesys.com)
A pair of credits:
BigStorage (www.bigstorage.com) contributes to our general fund every month,
and has done so for quite a long time.
Nikita Danilov wrote most of the core balancing code, plugin infrastructure,
and directory code. He steadily worked long hours, and is the reason so much of
the Reiser4 plugin infrastructure is well abstracted in its details. The carry
function, and the use of non-recursive balancing, are his idea.
Format 3.6 with standard journal
Count of blocks on the device: 1222948
Number of blocks consumed by mkreiserfs formatting process: 8249
Blocksize: 4096
Hash function used to sort names: "r5"
Journal Size 8193 blocks (first block 1:)
Journal Max transaction length 1024
inode generation number: 0
UUID: fe779de2-3834-4394-adf5-f98cc15507a0
ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
ALL DATA WILL BE LOST ON '/dev/hda2'!
Continue (y/n):y
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..ok
ReiserFS is successfully created on /dev/hda2.
............................................
Continue (y/n):y
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..ok
ReiserFS is successfully created on /dev/hda5.
.............................................
Continue (y/n):y
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..ok
ReiserFS is successfully created on /dev/hda6.
Rescue:~ #
|
6.) Интегрировал созданные разделы в rescue system:
Rescue:~ # mount /dev/hda2 /mnt
Rescue:~ # mkdir /mnt/local /mnt/var
Rescue:~ # mount /dev/hda5 /mnt/local
Rescue:~ # mount /dev/hda6 /mnt/var
|
Раздел /local мне нужен для моего Domino-Server'a и /var - для MySQL, DNS, Samba-PDC и т. д. ....
7.) Создал, сформатировал и проконтролировал раздел swap ( /dev/hda1 )
Rescue:~ # mkswap /dev/hda1 ; swapon /dev/hda1 ; free
Setting up swapspace version 1, size = 263172 kB
total used free shared buffers cached
Mem: 126284 92884 33400 0 4644 27208
-/+ buffers/cache: 61032 65252
Swap: 578260 26364 551896
Rescue:~ #
|
8.) Распаковал файл backup.tar.gz, который находиться в директории /data на моём компьютере laptop (192.168.0.2), в директорию /mnt на новом сервере ( на данный момент пока Rescue ).
Для этого на моём компьютере laptop в файле /etc/exports сделал такую запись :
/data 192.168.0.3(rw,async,no_root_squash)
|
и сделал рестарт nfsserver'a:
laptop:~ # rcnfsserver restart
Shutting down kernel based NFS server...........................................done
Starting kernel based NFS server.....................................................done
laptop:~ #
|
9.) Активировал сетевую карту на новом сервере:
Rescue:~ # ifconfig eth0 192.168.0.3
Rescue:~ # ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=32.2 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.438 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.643 ms
--- 192.168.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2030ms
rtt min/avg/max/mdev = 0.438/11.115/32.264/14.954 ms
Rescue:~ #
|
если у Вас файл backup.tar.gz, находиться в на другом комппьютере в другой сети - можно использовать следующие приказы:
route add -host 192.168.default.gateway dev eth0
route add -default gw 192.168.default.gateway
10.) Создал директории proc и mnt для будующей системы:
Rescue:~ # cd /mnt ; mkdir proc mnt
|
11.) Распаковал файл backup.tar.gz на новом сервере:
Rescue:~ # mkdir /t ; mount 192.168.0.2:/data/ /t
Rescue:~ # cd /mnt ; tar xvzf /t/backup.tar.gz
|
12.) Проконтролировал и подкорректировал конфигурацию будующей системы:
/mnt/etc/fstab
Rescue:~ # vi /mnt/etc/fstab
/dev/hda1 swap swap pri=42 0 0
/dev/hda2 / reiserfs defaults 1 1
/dev/hda5 /local auto defaults 0 0
/dev/hda6 /var auto defaults 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
proc /proc proc defaults 0 0
usbdevfs /proc/bus/usb usbdevfs noauto 0 0
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
/dev/fd0 /media/floppy auto noauto,user,sync 0 0
|
/mnt/etc/lilo.conf
Rescue:~ # vi /mnt/etc/lilo.conf
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
vga=normal
default=linux
keytable=/boot/us.klt
lba32
prompt
timeout=50
message=/boot/message
menu-scheme=wb:bw:wb:bw
image=/boot/vmlinuz
label=linux
root=/dev/hda2
vga=788
read-only
|
/mnt/etc/sysconfig/kernel
Rescue:~ # vi /mnt/etc/sysconfig/kernel
## Path: System/Kernel
INITRD_MODULES=" isa-pnp aha1542 reiserfs
|
/mnt/etc/modules.config ( подправил: на новом сервере другая сетевая карта!)
Rescue:~ # vi /mnt/etc/modules.config
alias etho dmfe
alias scsi_hostadapter off
|
13.) Cоздал "initrd"
Rescue:~ # cd /mnt ; sbin/mk_initrd /mnt
|
14.) Актуализировал lilo для будующей системы:
Rescue:~ # cd /mnt ; sbin/lilo -r /mnt
|
15.) Rescue:~ # reboot
Стартовал ... даже Domino-Server.. всё как обычно ...
Другая video card ....
server.gennadi.ru:~ # sax2
|
Уффф.......
|
Просмотров: 2447 |  Рейтинг статьи: 5 (Голосов: 5).
 Дата размещения статьи: 2003-12-25 20:01:52
5 последних поступлений в раздел Серверное ПО, маршрутизация, samba, ...:
26.02.04: Настройка сервера SSH (теория и практика) (Начнем, как обычно, с теории. SSH предоставляет 3 способа аутентификации клиента: по ip адресу клиент...) 26.02.04: Бекап файловой системы Linux-сервера с помощью rsync. (rsync работает только при установке его на обоих серверах - A и B. Для начала нужно определиться, что...) 05.02.04: Инструкции по настройке аутентификации с помощью LDAP (Любая операционная система, производящая аутентификацию наподобие UNIX, нуждается в хранении такого ж...) 02.02.04: Настройка принт-сервера на базе FreeBSD (Имеем: Компьютер P-75, 16MB RAM, HDD мин. треб, 2 lpt порта (2-й порт появился путем добавления isa м...) 22.01.04: Настройка vsftpd. (Я думаю, каждый понимает о необходимости ftp сервера. И меня не миновало :). Свой выбор я остановил н...)
Комментарии: |