Расположение rpool на части диска
Задача установить систему, а именно rpool не на весь диск, а на часть, дабы оставшуюся часть использовать под доп.нужды.
И так, что мы имеем:
Диск #1 - c1t0d0s0
Диск #2 - c1t1d0s0
Что делаем далее…
1. Ставим систему на первый диск на fdisk-партицию ~30гб (размечаем прямо в исталяторе, создаем fdisk-партицию не на весь диск, а только необходимое для системы место)
Чистая fdisk-партиция без разбивки на слайсы выглядит так:
Current partition table (original):
Total disk cylinders available: 60797 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0) 0
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 — 60796 931.46GB (60797/0/0) 1953407610
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 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 — 0 15.69MB (1/0/0) 32130
9 unassigned wm 0 0 (0/0/0) 0
Отрезаем от нее 30гб под s0 (rpool может находиться только на s0). Получаем:
Current partition table (original):
Total disk cylinders available: 60797 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 1 — 1821 27.90GB (1821/0/0) 58508730
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 — 60796 931.46GB (60797/0/0) 1953407610
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 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 — 0 15.69MB (1/0/0) 32130
9 unassigned wm 0 0 (0/0/0) 0
2. На втором диске делаем fdisk-партицию на весь диск и в нем s0 аналогичный первому диску и s1 на все оставшееся место (потом это будет часть пула для базы или еще чего полезного).
Current partition table (original):
Total disk cylinders available: 60797 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 1 — 1821 27.90GB (1821/0/0) 58508730
1 usr wm 1822 — 60796 903.54GB (58975/0/0) 1894866750
2 backup wu 0 — 60796 931.46GB (60797/0/0) 1953407610
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 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 — 0 15.69MB (1/0/0) 32130
9 unassigned wm 0 0 (0/0/0) 0
3. Подключаем s0 второго диска как зеркало к rpool и ждем полной синхронизации
zpool attach rpool c1t0d0s0 c1t1d0s0
4. С помощью скрипта или ручками проставляем grub на новый диск (все половинки зеркала должны иметь grub для возможности дальнейшей загрузки с любой из них)
5. Отключаем первый диск от rpool и пробуем загрузиться со второго диска. Если Вы не забыли проставить grub на второй диск, то система загрузится.
6. Разбиваем первый диск так же как и второй диск
#zpool detach rpool c1t0d0s0
# format
Searching for disks…done
AVAILABLE DISK SELECTIONS:
0. c1t0d0
/[email protected],0/pci15d9,[email protected],2/[email protected],0
1. c1t1d0
/[email protected],0/pci15d9,[email protected],2/[email protected],0
Specify disk (enter its number): 0
selecting c1t0d0
[disk formatted]
FORMAT MENU:
disk — select a disk
type — select (define) a disk type
partition — select (define) a partition table
current — describe the current disk
format — format and analyze the disk
fdisk — run the fdisk program
repair — repair a defective sector
label — write label to the disk
analyze — surface analysis
defect — defect list management
backup — search for backup labels
verify — read and display labels
save — save new disk/partition definitions
inquiry — show vendor, product and revision
volname — set 8-character volume name
! — execute , then return
quit
format> fdisk
Total disk size is 60800 cylinders
Cylinder size is 32130 (512 byte) blocks
Cylinders
Partition Status Type Start End Length %
========= ====== ============ ===== === ====== ===
1 Active Solaris2 1 60799 60799 100
SELECT ONE OF THE FOLLOWING:
1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Change between Solaris and Solaris2 Partition IDs
5. Exit (update disk configuration and exit)
6. Cancel (exit without updating disk configuration)
Enter Selection: 6
format> p
PARTITION MENU:
0 — change `0′ partition
1 — change `1′ partition
2 — change `2′ partition
3 — change `3′ partition
4 — change `4′ partition
5 — change `5′ partition
6 — change `6′ partition
7 — change `7′ partition
select — select a predefined table
modify — modify a predefined partition table
name — name the current table
print — display the current table
label — write partition map and label to the disk
! — execute , then return
quit
partition> p
Current partition table (original):
Total disk cylinders available: 60797 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 1 — 1821 27.90GB (1821/0/0) 58508730
1 usr wm 1822 — 60796 903.54GB (58975/0/0) 1894866750
2 backup wu 0 — 60796 931.46GB (60797/0/0) 1953407610
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 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 — 0 15.69MB (1/0/0) 32130
9 unassigned wm 0 0 (0/0/0) 0
partition> q
FORMAT MENU:
disk — select a disk
type — select (define) a disk type
partition — select (define) a partition table
current — describe the current disk
format — format and analyze the disk
fdisk — run the fdisk program
repair — repair a defective sector
label — write label to the disk
analyze — surface analysis
defect — defect list management
backup — search for backup labels
verify — read and display labels
save — save new disk/partition definitions
inquiry — show vendor, product and revision
volname — set 8-character volume name
! — execute , then return
quit
format> q
Не забываем после разбивки партишенов их сохранить с помощью label!
7. Подключаем s0 первого диска как зеркало к rpool и ждем полной синхронизации и ставим grub
zpool attach rpool c1t1d0s0 c1t0d0s0
8. Смотрим что получилось
# zpool status
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t1d0s0 ONLINE 0 0 0
c1t0d0s0 ONLINE 0 0 0
errors: No known data errors
В итоге мы имеем первые два диска с одной fdisk-партицией на весь диск, на которой есть s0 для rpool + s1 для базы.
9. Теперь можно оставшиеся слайсы s1 обоих дисков включить в какой нибудь новый пул. К примеру я добавил еще два диска и сделал двойное зеркало.
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
rpool 27,8G 2,68G 25,1G 9% ONLINE -
tank 1,78T 97K 1,78T 0% ONLINE -
# zpool status
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t1d0s0 ONLINE 0 0 0
c1t0d0s0 ONLINE 0 0 0
errors: No known data errors
pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t2d0s1 ONLINE 0 0 0
c1t3d0s1 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t0d0s1 ONLINE 0 0 0
c1t1d0s1 ONLINE 0 0 0
errors: No known data errors