탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
Oracle Solaris 11.1 관리: ZFS 파일 시스템 Oracle Solaris 11.1 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
3. Oracle Solaris ZFS 저장소 풀 관리
미러링된 루트 풀을 구성하는 방법(SPARC 또는 x86/VTOC)
미러링된 루트 풀을 구성하는 방법(x86/EFI(GPT))
ZFS 루트 풀의 디스크 교체 방법(SPARC 또는 x86/VTOC)
ZFS 루트 풀의 디스크 교체 방법(SPARC 또는 x86/EFI(GPT))
다른 루트 풀에 BE를 만드는 방법(SPARC 또는 x86/VTOC)
다른 루트 풀에 BE를 만드는 방법(SPARC 또는 x86/EFI(GPT))
5. Oracle Solaris ZFS 파일 시스템 관리
6. Oracle Solaris ZFS 스냅샷 및 복제 작업
7. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
SPARC 기반 시스템과 x86 기반 시스템은 부트에 필요한 파일을 포함하는 파일 시스템 이미지인 부트 아카이브를 사용하여 부트됩니다. ZFS 루트 파일 시스템에서 부트되면 부트를 위해 선택된 루트 파일 시스템에서 부트 아카이브와 커널 파일의 경로 이름이 확인됩니다.
ZFS 파일 시스템에서 부트하는 것과 UFS 파일 시스템에서 부트하는 것은 다릅니다. ZFS를 사용하는 경우 장치 지정자가 단일 루트 파일 시스템이 아닌 저장소 풀을 식별하기 때문입니다. 저장소 풀에는 여러 개의 부트 가능 ZFS 루트 파일 시스템이 포함될 수 있습니다. ZFS에서 부트하는 경우 부트 장치로 식별된 풀에 있는 루트 파일 시스템과 부트 장치를 지정해야 합니다.
기본적으로 부트를 위해 선택된 파일 시스템은 풀의 bootfs 등록 정보로 식별된 파일 시스템입니다. 이 기본 선택 사항은 SPARC 시스템에서 boot -Z 명령에 포함된 대체 부트 가능 파일 시스템을 지정하여 대체하거나 x86 기반 시스템의 BIOS에서 대체 부트 장치를 선택하여 대체할 수 있습니다.
설치 후 미러링된 ZFS 부트 풀을 만들기 위해 디스크를 연결할 수 있습니다. 미러링된 루트 풀 만들기에 대한 자세한 내용은 미러링된 루트 풀을 구성하는 방법(SPARC 또는 x86/VTOC)을 참조하십시오.
미러링된 ZFS 루트 풀에 대해 알려진 다음 문제를 검토하십시오.
미러링된 ZFS 루트 풀의 여러 장치에서 부트할 수 있습니다. 하드웨어 구성에 따라 다른 부트 장치가 지정되도록 PROM 또는 BIOS를 업데이트해야 할 수도 있습니다.
예를 들어, 이 풀의 디스크(c1t0d0s0 또는 c1t1d0s0)에서 부트할 수 있습니다.
# zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0
SPARC 기반 시스템의 경우 ok 프롬프트에서 대체 디스크를 입력합니다.
ok boot /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1
시스템이 재부트되면 활성 부트 장치를 확인합니다. 예를 들면 다음과 같습니다.
SPARC# prtconf -vp | grep bootpath bootpath: '/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1,0:a'
x86 기반 시스템의 경우 다음과 비슷한 구문을 사용합니다.
x86# prtconf -v|sed -n '/bootpath/,/value/p' name='bootpath' type=string items=1 value='/pci@0,0/pci8086,25f8@4/pci108e,286@0/disk@0,0:a'
x86 기반 시스템의 경우 적합한 BIOS 메뉴에서 미러링된 ZFS 루트 풀의 대체 디스크를 선택합니다.
SPARC 또는 x86: zpool replace 명령을 사용하여 루트 풀 디스크를 교체할 경우 bootadm 명령을 사용하여 새로 교체된 디스크에 부트 정보를 설치해야 합니다. 초기 설치 방법을 사용하여 미러링된 ZFS 루트 풀을 만들거나 zpool attach 명령을 사용하여 디스크를 루트 풀에 연결하는 경우 이 단계가 필요하지 않습니다. bootadm 구문은 다음과 같습니다.
# bootadm install-bootloader
다른 루트 풀에 부트 로더를 설치하려는 경우 -P(풀) 옵션을 사용합니다.
# bootadm install-bootloader -P rpool2
GRUB 레거시 부트 로더를 설치하려는 경우 레거시 installgrub 명령을 사용합니다.
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0
미러링된 ZFS 루트 풀의 여러 장치에서 부트할 수 있습니다. 하드웨어 구성에 따라 다른 부트 장치가 지정되도록 PROM 또는 BIOS를 업데이트해야 할 수도 있습니다.
예를 들어, 이 풀의 디스크(c1t0d0s0 또는 c1t1d0s0)에서 부트할 수 있습니다.
# zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t0d0s0 ONLINE 0 0 0 c1t1d0s0 ONLINE 0 0 0
SPARC 기반 시스템의 경우 ok 프롬프트에서 대체 디스크를 입력합니다.
ok boot /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1
시스템이 재부트되면 활성 부트 장치를 확인합니다. 예를 들면 다음과 같습니다.
SPARC# prtconf -vp | grep bootpath bootpath: '/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1,0:a'
x86 기반 시스템의 경우 다음과 비슷한 구문을 사용합니다.
x86# prtconf -v|sed -n '/bootpath/,/value/p' name='bootpath' type=string items=1 value='/pci@0,0/pci8086,25f8@4/pci108e,286@0/disk@0,0:a'
x86 기반 시스템의 경우 적합한 BIOS 메뉴에서 미러링된 ZFS 루트 풀의 대체 디스크를 선택합니다.
ZFS BE가 여러 개인 SPARC 기반 시스템에서 beadm activate 명령을 사용하여 BE에서 부트할 수 있습니다.
설치 및 beadm 활성화 프로세스 중에 ZFS 루트 파일 시스템은 bootfs 등록 정보를 통해 자동으로 지정됩니다.
하나의 풀에 부트 가능 파일 시스템이 여러 개 있을 수 있습니다. 기본적으로 /pool-name/boot/menu.lst 파일의 부트 가능 파일 시스템 항목은 풀의 bootfs 등록 정보로 식별되지만, menu.lst 항목에 풀의 대체 파일 시스템을 지정하는 bootfs 명령이 포함될 수 있습니다. 따라서 menu.lst 파일에 풀 내 여러 루트 파일 시스템에 대한 항목이 포함될 수 있습니다.
시스템에 ZFS 루트 파일 시스템이 설치되었으면 다음과 비슷한 항목이 menu.lst 파일에 추가됩니다.
title Oracle Solaris 11.1 SPARC bootfs rpool/ROOT/solaris
새 BE가 만들어지면 menu.lst 파일이 자동으로 업데이트됩니다.
title Oracle Solaris 11.1 SPARC bootfs rpool/ROOT/solaris title solaris bootfs rpool/ROOT/solaris2
SPARC 기반 시스템에서는 다음과 같이 부트할 BE를 선택할 수 있습니다.
ZFS BE가 활성화된 후에는 boot -L 명령을 사용하여 ZFS 풀 내에 있는 부트 가능 파일 시스템 목록을 표시할 수 있습니다. 그런 다음 목록에서 부트 가능 파일 시스템 중 하나를 선택할 수 있습니다. 해당 파일 시스템을 부트하는 방법에 대한 자세한 지침이 표시됩니다. 지침에 따라 선택한 파일 시스템을 부트할 수 있습니다.
부트 -Z file system 명령을 사용하여 특정 ZFS 파일 시스템을 부트합니다.
이 부트 방법은 BE를 자동으로 활성화하지 않습니다. boot -L 및 -Z 구문으로 BE를 부트한 후 자동으로 부트를 계속하려면 이 BE를 활성화해야 합니다.
예 4-1 특정 ZFS 부트 환경에서 부트
시스템 부트 장치의 ZFS 저장소 풀에 ZFS BE가 여러 개 있을 경우 beadm activate 명령을 사용하여 기본 BE를 지정할 수 있습니다.
예를 들어, 다음 ZFS BE는 beadm 출력에 설명된 대로 사용 가능합니다.
# beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris NR / 3.80G static 2012-07-20 10:25 solaris-2 - - 7.68M static 2012-07-19 13:44
SPARC 기반 시스템에 ZFS BE가 여러 개 있는 경우 boot -L 명령을 사용할 수 있습니다. 예를 들면 다음과 같습니다.
ok boot -L Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a File and args: -L 1 Oracle Solaris 11.1 SPARC 2 solaris Select environment to boot: [ 1 - 2 ]: 1 To boot the selected entry, invoke: boot [<root-device>] -Z rpool/ROOT/solaris-2 Program terminated ok boot -Z rpool/ROOT/solaris-2
위 명령으로 부트된 BE는 다음 재부트 시 활성화되지 않습니다. boot -Z 작업 도중 선택된 BE에서 계속 자동으로 부트하려는 경우 해당 BE를 활성화해야 합니다.
Oracle Solaris 11에서 x86 시스템은 레거시 GRUB로 설치되며, 설치 프로세스 중 또는 ZFS를 자동으로 부트하기 위한 beadm activate 작업 중 다음 항목이 /pool-name /boot/grub/menu.lst 파일에 추가됩니다.
title solaris bootfs rpool/ROOT/solaris kernel$ /platform/i86pc/kernel/amd64/unix -B $ZFS-BOOTFS module$ /platform/i86pc/amd64/boot_archive title solaris-1 bootfs rpool/ROOT/solaris-1 kernel$ /platform/i86pc/kernel/amd64/unix -B $ZFS-BOOTFS module$ /platform/i86pc/amd64/boot_archive
GRUB가 부트 장치로 식별한 장치에 ZFS 저장소 풀이 있을 경우 GRUB 메뉴를 만드는 데 menu.lst 파일이 사용됩니다.
ZFS BE가 여러 개인 x86 기반 시스템에서는 GRUB 메뉴에서 BE를 선택할 수 있습니다. 이 메뉴 항목에 해당하는 루트 파일 시스템이 ZFS 파일 시스템일 경우 다음 옵션이 추가됩니다.
-B $ZFS-BOOTFS
Oracle Solaris 11.1에서 x86 기반 시스템은 GRUB2로 설치됩니다. menu.lst 파일이 /rpool/boot/grub/grub.cfg 파일로 바뀌었지만 이 파일을 수동으로 편집하지 않아야 합니다. bootadm 하위 명령을 사용하여 메뉴 항목을 추가, 변경 및 제거합니다.
GRUB 메뉴 항목 수정에 대한 자세한 내용은 Oracle Solaris 11.1 시스템 부트 및 종료를 참조하십시오.
예 4-2 x86: ZFS 파일 시스템 부트
GRUB2 시스템에서 ZFS 루트 파일 시스템으로 부트할 때는 루트 장치가 다음과 같이 지정됩니다.
# bootadm list-menu the location of the boot loader configuration files is: /rpool/boot/grub default 0 console text timeout 30 0 Oracle Solaris 11.1
레거시 GRUB 시스템에서 ZFS 루트 파일 시스템으로 부트할 때는 루트 장치가 boot -B $ZFS-BOOTFS 매개변수로 지정됩니다. 예를 들면 다음과 같습니다.
title solaris bootfs rpool/ROOT/solaris kernel$ /platform/i86pc/kernel/amd64/unix -B $ZFS-BOOTFS module$ /platform/i86pc/amd64/boot_archive title solaris-1 bootfs rpool/ROOT/solaris-1 kernel$ /platform/i86pc/kernel/amd64/unix -B $ZFS-BOOTFS module$ /platform/i86pc/amd64/boot_archive
예 4-3 x86: ZFS 루트 파일 시스템의 빠른 재부트
빠른 재부트 기능을 사용하면 x86 기반 시스템에서 몇 초 내에 재부트할 수 있습니다. 빠른 재부트 기능을 사용하면 BIOS 및 부트 로더에 의한 긴 지연 시간을 경험하지 않고도 새 커널로 재부트할 수 있습니다. 시스템을 빠르게 재부트하는 기능은 작동 중지 시간을 크게 줄이고 효율성을 향상시켜 줍니다.
beadm activate 명령을 통해 다른 BE로 전환하는 경우에도 init 6 명령을 사용해야 합니다. reboot 명령이 적합한 다른 시스템 작업의 경우 reboot -f 명령을 사용할 수 있습니다. 예를 들면 다음과 같습니다.
# reboot -f
root 암호 분실 또는 유사한 문제를 복구할 수 있도록 시스템을 부트해야 할 경우 다음 절차를 사용하십시오.
다음 절차에 따라 menu.lst 문제 또는 루트 암호 문제와 관련된 문제를 해결할 수 있습니다. 루트 풀에서 디스크를 교체해야 할 경우 ZFS 루트 풀의 디스크 교체 방법(SPARC 또는 x86/VTOC)을 참조하십시오. 전체 시스템(베어 메탈) 복구를 수행해야 할 경우 11 장스냅샷 아카이브 및 루트 풀 복구를 참조하십시오.
x86: 라이브 매체 - 설치 매체에서 부트한 다음 복구 절차에 GNOME 터미널을 사용합니다.
SPARC: 텍스트 설치 – 설치 매체 또는 네트워크에서 부트한 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.
x86: 텍스트 설치 – GRUB 메뉴에서 Text Installer command line 부트 항목을 선택한 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.
SPARC: 자동 설치 – 다음 명령을 사용하여 셸로 종료할 수 있는 설치 메뉴에서 직접 부트합니다.
ok boot net:dhcp
x86: 자동 설치 – 네트워크의 설치 서버에서 부트하려면 PXE 부트가 필요합니다. GRUB 메뉴에서 Text Installer and command line 항목을 선택합니다. 그런 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.
예를 들어 시스템이 부트되면 3 Shell 옵션을 선택합니다.
1 Install Oracle Solaris 2 Install Additional Drivers 3 Shell 4 Terminal type (currently xterm) 5 Reboot Please enter a number [1]: 3 To return to the main menu, exit the shell #
시스템을 단일 사용자 모드로 부트하고 /etc/passwd 파일에서 셸 항목을 수정하여 잘못된 루트 셸을 해결합니다.
x86 시스템의 경우 선택된 부트 항목을 편집하고 -s 옵션을 추가합니다.
예를 들어, SPARC 시스템의 경우 시스템을 종료하고 단일 모드로 부트합니다. 루트로 로그인한 후 /etc/passwd 파일을 편집하고 루트 셸 항목을 수정합니다.
# init 0 ok boot -s Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a ... SunOS Release 5.11 Version 11.1 64-bit Copyright (c) 1983, 2012, Oracle and/or its affiliates. All rights reserved. Booting to milestone "milestone/single-user:default". Hostname: tardis.central Requesting System Maintenance Mode SINGLE USER MODE Enter user name for system maintenance (control-d to bypass): root Enter root password (control-d to bypass): xxxx single-user privilege assigned to root on /dev/console. Entering System Maintenance Mode Aug 3 15:46:21 su: 'su root' succeeded for root on /dev/console Oracle Corporation SunOS 5.11 11.1 October 2012 su: No shell /usr/bin/mybash. Trying fallback shell /sbin/sh. root@tardis.central:~# TERM =vt100; export TERM root@tardis.central:~# vi /etc/passwd root@tardis.central:~# <Press control-d> logout svc.startd: Returning to milestone all.
x86 기반 시스템의 부트 오류 문제를 해결합니다.
먼저 1단계에 나열된 부트 방법 중 하나를 사용하여 매체 또는 네트워크에서 부트해야 합니다. 그런 다음 루트 풀을 가져오고 GRUB 항목을 수정하는 등의 작업을 수행합니다.
bootadm list-menu 명령을 사용하여 GRUB2 항목을 나열하고 수정할 수 있습니다. 또한 set-menu 하위 명령을 사용하여 부트 항목을 변경할 수도 있습니다. 자세한 내용은 bootadm(1M)을 참조하십시오.
x86# zpool import -f rpool x86# bootadm list-menu x86# bootadm set-menu default=1 x86# exit 1 Install Oracle Solaris 2 Install Additional Drivers 3 Shell 4 Terminal type (currently sun-color) 5 Reboot Please enter a number [1]: 5
시스템이 성공적으로 부트되는지 확인합니다.
시스템에 로그인할 수 없게 하는 알 수 없는 루트 암호를 해결합니다.
먼저 1단계에 나열된 부트 방법 중 하나를 사용하여 매체 또는 네트워크에서 부트해야 합니다. 그런 다음 루트 풀(rpool)을 가져오고 BE를 마운트하여 루트 암호 항목을 제거합니다. 이 프로세스는 SPARC 플랫폼과 x86 플랫폼에서 동일합니다.
# zpool import -f rpool # beadm list be_find_current_be: failed to find current BE name be_find_current_be: failed to find current BE name BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris - - 46.95M static 2012-07-20 10:25 solaris-2 R - 3.81G static 2012-07-19 13:44 # mkdir /a # beadm mount solaris-2 /a # TERM=vt100 # export TERM # cd /a/etc # vi shadow <Carefully remove the unknown password> # cd / # beadm umount solaris-2 # halt
다음 단계로 이동하여 루트 암호를 설정합니다.
이 단계에서는 이전 단계에서 알 수 없는 루트 암호를 제거한 것으로 간주합니다.
x86 기반 시스템의 경우 선택된 부트 항목을 편집하고 -s 옵션을 추가합니다.
SPARC 기반 시스템에서는 시스템을 단일 사용자 모드로 부트하고 루트로 로그인한 다음 루트 암호를 설정합니다. 예를 들면 다음과 같습니다.
ok boot -s Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a ... SunOS Release 5.11 Version 11.1 64-bit Copyright (c) 1983, 2012, Oracle and/or its affiliates. All rights reserved Booting to milestone "milestone/single-user:default". Enter user name for system maintenance (control-d to bypass): root Enter root password (control-d to bypass): <Press return> single-user privilege assigned to root on /dev/console. Entering System Maintenance Mode Jul 20 14:09:59 su: 'su root' succeeded for root on /dev/console Oracle Corporation SunOS 5.11 11.1 October 2012 root@tardis.central:~# passwd -r files root New Password: xxxxxx Re-enter new Password: xxxxxx passwd: password successfully changed for root root@tardis.central:~# <Press control-d> logout svc.startd: Returning to milestone all.