URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 69753
[ Назад ]

Исходное сообщение
"Как заменить диск?"

Отправлено Shmell , 24-Окт-06 07:36 
как можно быстрее заменить жесткий диск со всей системой на новый?

Содержание

Сообщения в этом обсуждении
"Как заменить диск?"
Отправлено idk , 24-Окт-06 08:33 
>как можно быстрее заменить жесткий диск со всей системой на новый?

Размеры винтов одинаковые?


"Как заменить диск?"
Отправлено merko , 24-Окт-06 08:40 
с помощью dump

"Как заменить диск?"
Отправлено Shmell , 24-Окт-06 09:20 
>с помощью dump


ман читаю, однако может подскажете поподробнее что и как, надо ли создавать файловую систему, разбивать диск, какие параметры будут достаточны


"Как заменить диск?"
Отправлено Shmell , 24-Окт-06 09:15 
>>как можно быстрее заменить жесткий диск со всей системой на новый?
>
>Размеры винтов одинаковые?


нет, поэтому и заменяю что не хватает уже, 6 гб на 40Гб заменяю


"Как заменить диск?"
Отправлено MoHaX , 24-Окт-06 10:53 
>>>как можно быстрее заменить жесткий диск со всей системой на новый?
>>
>>Размеры винтов одинаковые?
>
>
>нет, поэтому и заменяю что не хватает уже, 6 гб на 40Гб
>заменяю


На пример так http://www.opennet.me/tips/info/116.shtml А вообще поиск даже только по этому сайту рулит ;)


"Как заменить диск?"
Отправлено orc , 24-Окт-06 11:00 
>>>как можно быстрее заменить жесткий диск со всей системой на новый?
>>
>>Размеры винтов одинаковые?
>
>
>нет, поэтому и заменяю что не хватает уже, 6 гб на 40Гб
>заменяю

dump/restore. Задай в поиске. Найдется все, что нужно.


"Как заменить диск?"
Отправлено MoHaX , 24-Окт-06 11:43 
А вот тут всё вообще по пунктам расписано http://www.freebsd.org.ru/how-to/w2w.html

"Как заменить диск?"
Отправлено deadmoroz2 , 24-Окт-06 15:39 
А где написано, что у человека FreeBSD? :)



"Как заменить диск?"
Отправлено Shmell , 26-Окт-06 06:50 
>А где написано, что у человека FreeBSD? :)


если на опеннет написал, дак наверно фря стоит ))
всем спасибо за подсказки, я еще нашел скиптик один, подскажите правильный ли он:
#!/bin/sh

export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin

#Исходный диск

src="ad2"

# Принимающий диск
dst="ad3"

# После того как я отформатировал диск по ГОСТУ, для полного уничтожения инфы, bsdlabel  не мог получить с него данные вот следующая команда и детектит такие диски.

fdisk -I $dst;

#получаем размер диска

d2size=`fdisk -s $dst |colrm 1 19| colrm 11 | tail -n 1| tr -d " "`;
d2size2=`expr $d2size / 2`;

#получаем общий размер всех фалов  

allfilesize=`du -s /|tr -d " /"`;
      if [ "${allfilesize}" -gt "$d2size2" ]
          then echo "Disk naznachenia ne sootvetstvuet razneram"
          exit 1
       fi
#получаем проценты для расчета партишенов    

d1size=`fdisk -s $src | colrm 1 19 | colrm 11 | tail -n 1| tr -d " "`;

       d1size=`expr $d1size / 100`;
      d2size=`expr $d2size / 100`;

#создаем файл разметки для bsdlabel с изменением размеров партишенов в соответствии с диском приемником
      bsdlabel $src"s1" > /tmp/$src"s1" 2>/dev/null
      head -n3 /tmp/$src"s1" > /tmp/$dst"s1";  
      c=4
      e=`cat /tmp/$src"s1" | nl | tail -n 1 | cut -f1 | tr -d " "`;
      while true
          do
          cat /tmp/$src"s1" | head -n $c | tail -n 1 | column -t > 1
          w=`cat 1 | cut -d" " -f1 `;
          y=`cat 1 | cut -d" " -f3`;
          x=`cat 1 | cut -d" " -f5`;
          z=`cat 1 | cut -d" " -f7`;
          psize=`expr $y / $d1size`;
          pout=`expr $d2size '*' $psize`;
            if [ $x -ne "0" ]
                then
                 x="*"
            fi
          echo " $w $pout $x $z" >> /tmp/$dst"s1"
            if [ $c -eq $e ]
                then break
            fi
          c=`expr $c + 1`;
      done    


#задаём структуру партишенов на новом диске и пишем бут

bsdlabel -R -B $dst"s1" /tmp/$dst"s1" 2>/dev/null >&1 >/dev/null
#следующий цикл сначала читает строку из fstab, проверяет партишен на #принадлежность к диску источнику и файловую систему, если она (файловая #система) соответствует ufs
#Получаем точку монтирования, создаем новую fs на диске приемнике и #клонируем туда данные с источника.    
c=2
      e=`cat /etc/fstab | nl | tail -n 1| cut -f1 | tr -d " "`;
      while true
      do
          w=`cat /etc/fstab | head -n $c | tail -n 1 | column -t | cut -d" " -f1 |colrm 1 5| colrm 4`;
          if [ $w = $src ]
          then
            y=`cat /etc/fstab |head -n $c |tail -n 1 | column -t| cut -d" " -f5 | tr -d " "`;
                if [ $y = "ufs" ]
                  then
                  x=`cat /etc/fstab | head -n $c | tail -n 1 | column -t | cut -d" " -f1 | colrm 1 8`;
                  z=`cat /etc/fstab | head -n $c | tail -n 1 | column -t | cut -d" " -f3 | tr -d " "`;
                  echo "Createing file system: ${dst}$x  $z"
                  newfs -O2 -U /dev/${dst}$x 2>/dev/null >&1 >/dev/null
                  if [ $? != 0 ]
                      then
                       rm -f /var/run/dumpfs.lock
                       echo "error"
                       exit 1
                  fi
                    echo "ok."
                  echo "Starting dumping: $z"
                  mount /dev/${dst}$x /mnt
                  cd /mnt
                  dump -f- $z 2>/dev/null | restore -rf- 2>/dev/null >&1 >/dev/null
                  cd ..
                  umount /mnt
                  echo "OK."
                fi
          fi
          if [ $c -eq $e ]
            then break
          fi
          c=`expr $c + 1`;
      done    

    sleep 3
    rm -f /var/run/dumpfs.lock
echo "Clone Finished :) "