*Drive*- Здесь рулят padonki

*Drive* - Counter Strike Source
It is currently 17 Jan 2019, 08:34

All times are UTC + 3 hours [ DST ]




Post new topic Reply to topic  [ 1 post ] 
Author Message
PostPosted: 24 Aug 2010, 12:51 
Offline
User avatar

Joined: 15 Nov 2006, 20:41
Posts: 58
Location: msk
Has thanked: 0 time
Have thanks: 0 time
Имеется сервер Sun V120 c установленной на ней по default ОС Solaris 10.
Code:
Так же имеется 2а SCSI диска по 36Gb.
1 HDD - c1t0d0 (основной)
2 HDD - c1t1d0

Для хранения State Database мы будем использовать отдельный раздел c1t0d0s3 и c1t1d0s3 объёмом 18мб. При установки системы был размечен весь диск, создать новый раздел не представляет возможности. По этому, мы будем “кастрировать” swap раздел для создания дополнительного раздела под SD.
Одна State Replica занимает около 4мб.

Установка.

1) Командой format смотрим имеющиеся диски в системе.
Code:
bash-3.00# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
0. c1t0d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107> /pci@1f,0/pci@1/scsi@8/sd@0,0
1. c1t1d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107> /pci@1f,0/pci@1/scsi@8/sd@1,0


2) Допустим что коренной раздел на первом диске (c1t0d0) у нас находится на слайсе s0, swap на s1, backup на s2, слайсы начиная с 3 по 6 не используются, а диск 2(c1t1d0) у нас не размеченный.

3)
Отключаем Swap для “кастрации” и выделением из него места для хранений SD

Code:
swap –d /dev/dsk/c1t0d0s1

В файле /etc/vfstab комментируем строчку со swap

4) Заходим в format выбираем диск 0 (основной диск) в меню выбираем пункт partition потом выбираем print и списываем геометрию диска, объём разделов, число блоков, цилиндры, флаги и тагеты, это необходимо для того что бы создать такую же копию на диске 1(c1t1d0)

Выглядит она примерно так:
Code:
Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm     363 -  5087        7.20GB    (5230/0/0)  15109470
  1       swap    wm       0 -   363      512.06MB    (364/0/0)    1048707
  2     backup    wm       0 - 24619       33.92GB    (24620/0/0) 71127180
  3 unassigned    wm       0             0        (0/0/0)            0
  4 unassigned    wm       0                0         (0/0/0)            0
  5 unassigned    wm       0                0         (0/0/0)            0
  6 unassigned    wm       0                0         (0/0/0)            0
  7       home    wm    5593 - 24619       26.91GB    (19027/0/0) 54969003

Мы видим, что swap раздел имеет объём 512.06мб, его мы и уменьшим до 493.73мб вследствие, чего свободного не использованного места у нас будет 18.33мб этого вполне хватает для хранений наших SD

5) Заходим снова в format на 1диск (c1t1d0)в меню выбираем пункт partition и размечаем так как размечен диск 0(c1t0d0) но с указанием нового раздела s3 весом 18мб для хранения SD

6) Сохраняем результат и выходим.
Code:
partition> select
format>save
format>q


В итоге должно получиться что то похожее:
Code:
Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm     363 -  5592        7.20GB     (5230/0/0)  15109470
  1       swap    wu       0 -   349        493.73MB   (350/0/0)    1011150
  2     backup    wm       0 - 24619        33.92GB    (24620/0/0) 71127180
  3 unassigned    wm     350 -   362        18.34MB    (13/0/0)       37557
  4 unassigned    wm       0                0          (0/0/0)            0
  5 unassigned    wm       0                0          (0/0/0)            0
  6 unassigned    wm       0                0          (0/0/0)            0
  7 home    wm    5593 - 24619            26.21GB     (19027/0/0) 54969003


Тем самым мы видим что swap раздел стал меньше и на слайсе 3 появился новый раздел весом 18.34мб для наших SD

7) Теперь нужно перенести разметку диска с c1t1d0 на c1t0d0 это нужно для совпадения геометрии диска

Code:
prtvtoc /dev/rdsk/c1t1d0s2 | fmthard -s - /dev/rdsk/c1t0d0s2


8)Создаём SD на двух выделенных разделах (c1t0d0s3 и c1t1d0s3) по 2е State Replica на каждом
Code:
metadb –f –a –c 2 c1t0d0s3
metadb –f –a –c 2 c1t1d0s3


-f опция для создания и инициализации state database.
-a опция прикрепляет новую базу данных дивайса. Файл /kernel/drv/md.conf автоматически обновляется с учётом новой информации. Так же файл /etc/lvm/mddb.cf тоже обновляется.
-с Определяет количество реплик на каждое устройство. По умолчанию 1 реплика.

Создание RAID для home раздела

Для того чтобы не угробить систему сначала создаём RAID для home раздела (с1t0d0s7)

9) Создаём метаустройство d17 и d27 соответственно.

Первый диск
Code:
metainit –f d17 1 1 c1t0d0s7


Второй диск
Code:
metainit –f d27 1 1 c1t1d0s7


10)
Создаём зеркало (Mirror, он же RAID1)

Code:
metainit d7 –m d17

-m создаёт имя metadevice зеркала.

11) Подключаем к зеркалу второе метаустройство

Code:
metattach d7 d27


За ходом процесса зеркалирования можно наблюдать при помощи команды metastat
Code:
metastat | grep “%”



В итоге после завершения зеркалирования должно получиться что-то подобное:
Code:
d7: Mirror
    Submirror 0: d17
      State: Okay
    Submirror 1: d27
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 54969003 blocks (26 GB)

d17: Submirror of d7
    State: Okay
    Size: 54969003 blocks (26 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s7          0     No            Okay   Yes


d27: Submirror of d7
    State: Okay
    Size: 54969003 blocks (26 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t1d0s7          0     No            Okay   Yes

Mirrot у нас d7, а Submirror d17 и d27

Создание RAID для root раздела


12) Создаём метайстройство d10 и d20 соответственно.

Первый диск
Code:
metainit –f d10 1 1 c1t0d0s0


Второй диск
Code:
metainit –f d20 1 1 c1t1d0s0

-f этот параметр требуется для настройки зеркала на коренной раздел.

13) Создаём зеркало (Mirror, он же RAID1).

Code:
metainit d0 –m d10

-m создаёт имя metadevice зеркала.

14) Для того чтобы система была перестроена на правильную загрузку с метаустройства, необходимо использовать metaroot, который надлежащим образом правит конфиг файла /etc/vfstab и /etc/system

Code:
metaroot d0


15) Подключаем swap
Code:
swap –a /dev/dsk/c1t0d0s1
swap –a /dev/dsk/c1t1d0s1


16) Для проверки смотрим файл /etc/vfstab он должен быть выглядеть примерно так:
Code:
bash-3.00$ cat /etc/vfstab
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c1t0d0s1       -       -       swap    -       no      -
/dev/dsk/c1t1d0s1       -       -       swap    -       no      -
/dev/md/dsk/d0  /dev/md/rdsk/d0 /       ufs     1       yes     -
/dev/md/dsk/d7  /dev/md/rdsk/d7 /export/home    ufs     2       yes     -
/devices        -       /devices        devfs   -       no      -
sharefs -       /etc/dfs/sharetab       sharefs -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap    -       /tmp    tmpfs   -       yes     -

Подключены swap разделы (если строчка закоментарина то нужно её раскоментировать)
/dev/dsk/c1t0d0s1 - - swap - no -
/dev/dsk/c1t1d0s1 - - swap - no -
Строчка /dev/md/dsk/d0 /dev/md/rdsk/d0 означает, что коренной раздел будет грузиться с метаустройства, так же нужно переправить в графе mount at boot с no на yes иначе система не загрузится.


Так же строчка /dev/md/dsk/d7 /dev/md/rdsk/d7 показывает, что раздел home будет работать через метаустройства.


Проверяем /etc/system в конце должно быть что-то похожее:

Code:
rootdev:/pseudo/md@0:0,0,blk



17) Записываем всё грязную информацию в swap
Code:
sync;sync


18) Для обеспечения целостности данных рекомендуется использовать lockfs
Code:
lockfs –fa


19) Уходим в перезагрузку

Code:
init 6


20) После перезагрузки подключаем к зеркалу второе метаустройство
Code:
metattach d0 d20


За ходом процесса зеркалирования можно наблюдать при помощи команды metastat

Code:
metastat | grep “%”


В итоге после завершения зеркалирования должно получиться что-то подобное:
Code:
d0: Mirror
    Submirror 0: d10
      State: Okay
    Submirror 1: d20
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 15109470 blocks (7.2 GB)

d10: Submirror of d0
    State: Okay
    Size: 15109470 blocks (7.2 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s0          0     No            Okay   Yes


d20: Submirror of d0
    State: Okay
    Size: 15109470 blocks (7.2 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t1d0s0          0     No            Okay   Yes


Если всё собралось успешно, уводим систему в init 0 и попадаем OpenBoot, создаём имена для этих устройств, и настраиваем автоматическую загрузку с него в случае отказа основного:

Ищем наши диски.

Code:
ok devalias (смотрим имеющиеся дивайсы)
ok nvalias root путь к диску (создаём имя для первого диска)
ok nvalias second_root путь к диску (создаём имя для второго диска)
ok setenv boot-device root second_root net (ставим приоритет на загрузку)
boot-device = root second_root net
ok nvstore (сохраняем)


Полезные ссылки:

format
http://www.opennet.ru/man.shtml?topic=f ... &russian=4

metadb

http://www.opennet.ru/man.shtml?topic=m ... &russian=4

metainit
http://www.opennet.ru/man.shtml?topic=m ... &russian=4

metattach
http://www.opennet.ru/man.shtml?topic=m ... &russian=4

metaroot
http://www.opennet.ru/man.shtml?topic=m ... &russian=4

lockfs
http://www.opennet.ru/man.shtml?topic=l ... &russian=4

OpenBoot

http://adminschoice.com/sun-openboot-pa ... d-commands

PS: Полезно знать что строчка /pci@1f,0/pci@1/scsi@8/disk@0,0:b означает
Code:
c1    t0 d0  s1
disk@ 0, 0  :b


disk@ - это контроллер (c1)
0 - это таргет (t0)
0 - это диск (d0)
b - это слайс (s1)

_________________
Image
Image
Image
Image
Image


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC + 3 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  


Powered by -=PadonaK=- ®, Forum Drivesource.ru, Статситика игрового ресурса *Drive* HLstatsX, Система забаненых игроков Sourcebans

drivesource.ru ® 2006-2019