SlideShare a Scribd company logo
1 of 83
Download to read offline
Solaris11 Basic
㈜온고테크 / 기술지원2팀 정동화 / dhjung@ongo.co.kr
2
Contents
3. BE - 부트 환경 관리
4. ZFS(Zettabyte File System)
1. Solaris11 Networking
2. Package 설치 & 관리
3
14
30
39
6. 기타 설정 관련73
5.1 Hostname변경
5.2 TCP 파라미터 변경
5.3 DNS client 설정
5.4 ftp설정
5.5 User Management
5.6 System Language Change
5.7 DB설치시 X-window띄우는 법
63 5. Unified Archive
Networking
Solaris11 Network 개요 & 설정
1. Solaris11 Networking
• Solaris10 네트워킹
Solaris10 네트웍킹
• 여러가지 관리 명령어
• Ifconfig –a -> 인터페이스 계층(IP인터페이스 구성)
• dladm show-link -> Data Link계층의 링크 정보
• dladm show-phys -> 설치된 하드웨어 장치
• 장치와 데이터 링크 및 인터페이스를 바인드하는 일대일 관계가
존재한다. 이 관계는 네트워크 구성이 하드웨어 구성과 네트워크
토폴로지에 의존한다는 것을 의미한다. NIC를 교체하거나 네트워크
토폴로지를 바꾸는 등 하드웨어 계층에서 변경 사항이 구현된 경우
인터페이스를 재구성해야 한다.
4
<그림> Solaris10 에서의 Network
1. Solaris11 Networking
• Solaris11 Networking
Solaris11 네트웍 구현
• 여러가지 관리 명령어
• ipadm show-if -> 인터페이스 계층(IP인터페이스 구성)
- create ip 된 인터페이스를 나열한다.(plumb의미)
• dladm show-link -> Data Link계층의 링크 정보
• dladm show-phys -> 설치된 하드웨어 장치
• 네트워크 구성은 하드웨어 계층에서 발생 가능한 변경
사항으로부터 분리된다. 링크와 인터페이스 구성은 기본
하드웨어를 제거하더라도 유지된다. 두 NIC가 서로 같은 유형이면
이러한 동일한 구성을 교체 NIC에 다시 적용할 수 있다.
• 네트워크 구성을 네트워크 하드웨어 구성으로부터 분리함으로써
데이터 링크 계층에서 사용자 정의된 링크 이름을 사용할 수 있다
하드웨어 장치 인스턴스 Link name IP interface
e1000g e1000g0 net0 net0
qfe qfe1 net1 net1
5
net0과 net1을 group하여
itops0가 생성 – IPMP group
<그림> Solaris11 에서의 Network
Solaris11 Networking
• Solaris11 network Instance name
Interface 이름
• Datalinkk의 이름(net)을 변경할수는 있지만 권고하지 않는다.
• 이름은 이상적으로 3~8자로 구성되며, 최대 16자까지 지정할 수 있다.
• 유효한 이름 문자는 영숫자(a–z, 0–9) 및 밑줄(_)을 사용한다.
• 대문자 사용불가
• 링크 이름이 유일해야 함.
• lo0 interface 변경불가 - loopback
# dladmshow-phys –L - NIC가있는 물리적위치까지표기
LINK DEVICE LOCATION
net0 e1000g0 MB
net1 e1000g1 MB
net2 e1000g2 MB
net3 e1000g3 MB
net4 ibp0 MB/RISER0/PCIE0/PORT1
net5 ibp1 MB/RISER0/PCIE0/PORT2
net6 eoib2 MB/RISER0/PCIE0/PORT1/cloud-nm2gw-2/1A-ETH-2
net7 eoib4 MB/RISER0/PCIE0/PORT2/cloud-nm2gw-2/1A-ETH-2
일반 이름을 포함하는
데이터 링크와 해당 장치
인스턴스 간의 매핑을
표시
# dladmrename-linknet0dong0이름변경
6
1. Solaris11 Networking
• Network 구성
자동모드
• Oracle Solaris 11에서 네트워크 구성은 NCP(네트워크 구성 프로파일)로 관리됩니다. 특정 시스템에서 작동하는 NCP 유형에 따라 시스템의 네트워크 구성이
결정된다. NCP가 자동(Automatic)인 경우 해당 시스템의 네트워크 구성이 동적으로 구성된다. NCP가 고정된 경우 네트워크 구성이 정적으로 구현된다.
• 자동(Automatic) 네트워크 구성(자동모드)에서는 수동으로 다시 구성할 필요 없이 시스템이 네트워크 조건 변경 및 네트워크 구성에 맞게 자동으로 조정됩니다.
(가상인터페이스를 자동으로 관리) 예를 들어 유선 네트워크 인터페이스가 분리되거나 새 무선 네트워크가 사용 가능해지면 시스템이 이에 따라 조정된다.
• 서버 환경에서는 사용하는 일이 없으므로 설정방법만 익히도록 한다.
• Solaris11을 설치시 Auto로 설치하게되어 네트웍 정보를 넣지 않으면 자동으로 Automatic으로 설정되어 진다.
7
# netadmenable –p ncp Automatic자동모드
고정모드
• 고정된 네트워크 구성은 특정 네트워크 설정이 시스템에서 인스턴스화되는 구성 모드를 나타낸다. 자동 네트워크 구성 모드와 달리, 고정 구성 모드에서
인스턴스화된 구성은 시스템의 네트워크 환경에 관계없이 우리가 구성한 환경으로 유지됩니다. 해당 환경에서 인터페이스 추가 등의 변경 사항이 발생할 경우,
시스템이 새 환경에 맞게 적용되도록 시스템의 네트워크 설정을 수동(idladm,ipadm등)으로 재구성해야 합니다
• Default로 돼어 있으며, 서버환경에서 고정모드를 사용하도록 한다.
# netadmenable -pncpDefaultFixed고정모드
# netadmlist확인
1. Solaris11 Networking
• Network 구성 - dladm
dladm 기본구성
• dladm 명령을 사용하여 DataLink단 구성을 지원한다.. Sub Command나 옵션없이 사용시에는 일반 정보 표시
8
root@Sol11-IPS:~# dladm show-link
LINK CLASS MTU STATE OVER
net0 phys 1500 up --
net1 phys 1500 unknown --
링크상태확인
root@Sol11-IPS:~# dladm show-phys
LINK MEDIA STATE SPEED DUPLEX DEVICE
net0 Ethernet up 1000 full e1000g0
net1 Ethernet unknown 0 unknown e1000g1
물리적 상태&속성 표시
(-L 사용시 위치도 확인)
root@Donghwa:~# dladm create-aggr -l net1 -l net2 1
- 추가
root@Donghwa:~# dladmadd-aggr -l net3 1
root@Donghwa:~# dladm show-aggr –L
LINK PORT AGGREGATABLE SYNC COLL DIST DEFAULTED EXPIRED
aggr1 net1 yes no no no no no
-- net2 yes no no no no no
-- net3 yes no no no no no
aggr 만즐기
Net1과 net2를 trunk
create – 만들기
add- NIC 추가
remove – nic삭제
delete – aggr삭제
1. Solaris11 Networking
• Network 구성 - dladm
등록정보 변경
• 기본 DataLink 구성을 수행하는 것은 물론 Datalink 등록 정보를 설정하고 네트워크 요구 사항에 따라 사용자 정의할 수도 있다.
- (ndd 사용안함,(network speed), Jumpo Frame등등
• dladm set-linkprop -p property =value datalink는 데이터 링크의 등록 정보에 값을 지정합니다.
• dladm reset-linkprop -p property datalink는 특정 등록 정보를 해당 기본값으로 재설정합니다
• 해당장에서는 가장 많이 사용하는 Auto-negociation에 대해 설명한다.
9
root@Donghwa:~# dladmshow-ether-x net1
LINK PTYPE STATE AUTO SPEED-DUPLEX PAUSE
net1 current up yes 1G-f bi
-- capable -- yes 1G-fh,100M-fh,10M-fh bi
-- adv -- yes 1G-f,100M-fh,10M-fh bi
-- peeradv -- yes 1G-fh,100M-fh,10M-fh none
root@Donghwa:~# dladmset-linkprop-p adv_autoneg_cap=0net1 <-net1번을auto로변경
root@Donghwa:~# dladmshow-ether-x net1
LINK PTYPE STATE AUTO SPEED-DUPLEX PAUSE
net1 current up no 1G-f bi
-- capable -- yes 1G-fh,100M-fh,10M-fh bi
-- adv - - no 1G-f,100M-fh,10M-로 bi
-- peeradv -- no 1G-fh,100M-fh,10M-fh none
root@Donghwa:~# dladmshow-linkpropnet1|grep-i adv
--- 결과값 생략 ---
Link Speed
Auto로 변경
1. Solaris11 Networking
• Network 구성 - ipadm
Network 구성
• IP Interface를 구성한다. – 아래와 같이 영구 적용이 된다. – Solaris10이전버젼처럼 /etc/및의 구성파일 없음.
- dladm의 후행 작업이며, 삭제와 같은 작업은 역순이다.
- EX) dladm으로 link이름을 변경시에는 ipadm delete-ip가 먼저 실행되어야 한다.
• 기본적인 네트웍을 구성한다.(지정 Interface에 IP Address, Subnet,) – 명령어 기반이며, 영구적용된다.
10
root@Donghwa:~# ipadm create-ip net3 -> nett3 plumb개념
root@Donghwa:~# ipadm create-addr -T static -a 192.168.56.70/24 net3/v4
- net3에 192.168.56.70, Subnet(C Class)할당.
root@Donghwa:~# route-p add default 192.168.56.1 -ifp net0
- Route 명령어에 –p옵션(영구적용) 으로 default route 추가
# ifconfig –a -> network확인
# netstat –rn -> default router 확인(현재의 라우팅테이블확인)
기본적인 네트웍 구성
 route 명령어에 “-p” 옵션으로 영구적용할수가 있다.
솔라리스10에서도 가능한 이 옵션은 기본적인 defaultrouter구성은 물론 서버의 네트웍 연동(route Table에추가)시에도
사용할수 있으며 아래 형식으로 영구적용된 route명령어를 확인 가능하다.
# route –p show
1. Solaris11 Networking
• Network 구성 - ipadm
ipadm 명령어
• IP Interface를 속성값을 변경한다..
• ipadm show-addrprop [-p property] [addrobj] 하위 명령은 사용되는 옵션에 따라 주소 등록 정보를 표시한다.
• ipadm set-addrprop -p property =value addrobj 하위 명령은 주소 등록 정보에 값을 지정합니다. 한 번에 하나만 설정할 수 있다.
• ipadm reset-addrprop -p property addrobj 하위 명령은 주소 등록 정보에 대한 모든 기본값을 복원한다.
11
root@Donghwa:~# ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
net3/v4 static ok 192.168.56.70/24
root@Donghwa:~# ipadm show-addrprop -p prefixlen net3/v4
ADDROBJ PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE
net3/v4 prefixlen rw 24 24 24 1-30,32
root@Donghwa:~# ipadm set-addrprop -p prefixlen=16 net3/v4
root@Donghwa:~# ipadm show-addrprop -p prefixlen net3/v4
ADDROBJ PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE
net3/v4 prefixlen rw 16 16 24 1-30,32
net3의 netmask를
C Class에서 B Class로
변경
1. Solaris11 Networking
• Network 구성 – 이중화 구성
IPMP 구성
• ipadm명령어를 사용하여 네트웍 인터페이스를 이중화한다..
• Solaris10과 달리 명령어만으로 구현을 하며, 지정된이름으로 Interface가 생성이 된다.
12
root@Donghwa:~# ipadmcreate-ip net3
root@Donghwa:~# ipadmcreate-ip net4
root@Donghwa:~# ipadmcreate-ipmp -i net3 -i net4 ipmp0 -> ipmp0라는이름으로생성
root@Donghwa:~# ipadmcreate-addr -T static -a 192.168.5.60/24 ipmp0 -> ipmp0에주소 설정
root@Donghwa:~# ipadmset-ifprop -p standby=on –m ip net3 -> net3를standby로 설정
root@Donghwa:~# ifconfig -a
net3: flags=61000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,STANDBY,INACTIVE>
mtu 1500 index 5 inet 0.0.0.0 netmask ff000000 groupname ipmp0 ether 0:c:29:73:1d:f
net4: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 6
inet 0.0.0.0 netmask ff000000 groupname ipmp0 ether 0:c:29:73:1d:19
ipmp0: flags=8001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,IPMP> mtu 1500 index 7
inet 192.168.5.60 netmask ffffff00 broadcast 192.168.5.255
groupname ipmp0
IPMP구성
Active/Standby구성
root@Donghwa:~# ipmpstat -g
GROUP GROUPNAME STATE FDT INTERFACES
ipmp0 ipmp0 ok -- net4 (net3)
구성정보표시
root@Donghwa:~# ipmpstat -i
INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE
net4 yes ipmp0 --mbM-- up disabled ok
net3 no ipmp0 is----- up disabled ok
구성된 인터페이스 상태
1. Solaris11 Networking
• Network 구성 – 이중화 구성
IPMP 유지관리
• IPMP 를 관리하는 방법에 대해 설명한다.
13
# ipmpstat -g
GROUP GROUPNAME STATE FDT INTERFACES
dong dong ok 10.00s net0 net1
# ipadmremove-ipmp -i net0 -i net1 dong
# ipadmdelete-ipmp dong
IPMP삭제(GROUP:dong)
# ipadmcreate-ipnet4
# ipadmadd-ipmp-i net4 dong
# ipmpstat -g
GROUP GROUPNAME STATE FDT INTERFACES
dong dong ok 10.00s net0 net1 net4
GROUP에 Interface추가
Package 설치 & 관리
Solaris11 Package
locale
Gcc
desktop
• IPS(Image Packing System)
15
2. Solaris11 Package
IPS
• Solaris11 의 운영체제용 소프트웨어는 IPS 패키지로 배포가 된다.
• Software Lifecycle 관리 기능을 제공하는 프레임 워크로 운영체제용 package 나열,설치,설치,업그레이드 제거 사용
• IPS 패키지는 정의된 형식의 디렉토리, 파일, 링크, 드라이버, 종속성, 그룹, 사용자 및 라이센스 정보 모음.
• 이전 방식(Solaris10이하) – SVR4 패키징방식과는 다른 형식. – SUNW 사용안함.
• IPS CLI 및 GUI 관리 - pkg install, pkg search, pkg info, pkg list , GUI : package manager 사용(package/pkg/package-manager )
• IPS publisher(게시자) 관리 – pkg publisher, pkg set-publisher..
• Solaris11 을 text Install로 설치하는 경우 solaris-large-server로 설치
- solaris-large-server = Solaris10의 SUNWCall(Entire Distribution Group) 해당
• 통합패키지는 패키지의 버전을 제한한다. – entire 라는 패키지가 다른 통합 패키지의 버전을 제한하는 통합패키지이다.
Task IPS command SVR4 Packaging Command
패키지 설치 pkg install pkgadd
설치된 패키지 업데이트 pkg update patchadd
패키지 상태 및 버전 조회 pkg list pkginfo
설치된 패키지 검증 pkg verify pkgchk -v
패키지정보,라이센스등 보기 pkg info,pkg list -r pkginfo -l
패키지 내용보기 pkg contents pkgchk -l
패키지 검색 pkg search pkgchk -l -p
<그림> packager manager(GUI)
<표-1> 기존 패키지 명령어와 차이점
• IPS(Image Packing System)
16
2. Solaris11 Package
IPS 명령어
• IPS 공급자(publisher)로 부터 해당 package정보수집, 설치를 진행 한다.
root@Sol11-IPS:~# pkg list java
NAME (PUBLISHER) VERSION IFO
runtime/java 1.6.0.71.12 i -- -> i 표시는 Install되어 있음.
root@Sol11-IPS:~# pkg list xclock -> 현재 설치돼어 있지 않음
pkg list: no packages matching 'xclock' installed
설치된 package검색
root@Sol11-IPS:~# pkg install xclock
root@Sol11-IPS:~# pkg list xclock
NAME (PUBLISHER) VERSION IFO
x11/xclock 1.0.6-0.175.1.0.0.24.1317 i--
root@Sol11-IPS:~# pkg uninstall xclock
패키지 설치 & 삭제
root@Sol11-IPS:~# pkg search /usr/bin/java
INDEX ACTION VALUE PACKAGE
path link usr/bin/java pkg:/runtime/java/jre-7@1.7.0.51.13
path link usr/bin/java pkg:/runtime/java/jre-6@1.6.0.71.12
root@Sol11-IPS:~# pkg search /usr/sfw/bin/gcc
INDEX ACTION VALUE PACKAGE
path hardlink usr/sfw/bin/gcc pkg:/developer/gcc-3@3.4.3-0.175.1.0.0.24.0
패키지 도구를 이용한 패키지
이름 검색
root@Donghwa:~# pkg list -af *jdk-6*
NAME (PUBLISHER) VERSION IFO
developer/java/jdk-6 1.6.0.71.12 --- ->현재설치돼어있지않음패키지이름이
developer/java/jdk-6 1.6.0.35-0.175.1.0.0.24.1 --- 같으므로상위버젼이설치된다.
root@Donghwa:~# pkg installdeveloper/java/jdk-6@1.6.0.35-0.175.1.0.0.24.1->버젼지정을 해주어야 한다.
세부버젼 패키지 설치
jdk 1.6.25로 설치
• IPS(Image Packing System)
17
2. Solaris11 Package
IPS 명령어-계속
root@Sol11-IPS:~# pkg list-af *gcc*
NAME (PUBLISHER) VERSION FO
SUNWgcc 3.4.3-0.133 --r - -->> -r은 rename, o는 설치할수 없음.
SUNWgccruntime 3.4.3-0.133 --r
developer/gcc-3 3.4.3-0.175.1.0.0.24.0 i--
developer/gcc-45 4.5.2-0.175.1.0.0.24.0 ---
예전 패키지 검색
root@Sol11-IPS:~# pkg contents-Hro fmri-t depend-a type=group solaris-large-server
archiver/gnu-tar
compress/bzip2
compress/gzip
----------------생략-----------------------
패키지 의존성 확인
root@Sol11-IPS:~# pkg info -r system/library/gcc-45-runtime
Name: system/library/gcc-45-runtime
Summary: GCC - 4.5 Runtime
Category: Development/C (org.opensolaris.category.2008)
Development/C++ (org.opensolaris.category.2008)
Development/Fortran (org.opensolaris.category.2008)
State: Not installed
-----생략-----
패키지 정보보기
• IPS(Image Packing System)
18
2. Solaris11 Package
IPS 명령어- java version
root@dong1:~# java-version
javaversion"1.7.0_72"
Java version
root@dong1:~# pkg mediator-a java
MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION
java system 1.7 system
java system 1.6 system
IPS내 java중계 표시
• 동일 pkg에서 다른 버전이 있을시 예를 들어 자바같은 경우 OS에서 사용하는 기본 버전을 설정할수가 있다.
• Mediator라는 sub option으로 java중계를 표시한다. – 나오는 버전은 모두 /usr/bin/java에서의 simbolic link이다.
• 기본은 jre이며 java compilier(javac)가 필요한 경우에는 pkg installl –accept jdk-7로 jdk를 먼저 설치해준다.
• Java의 업데이트 버전(minor)까지 맞추려면 원하는 자바 update버젼을 /usr/jdk/instance Directrory에 저장한다음 set-mediator를 실행한다.
root@dong1:~# pkg set-mediator-V 1.6 java
Packages to change: 3
Mediators to change: 1
Create boot environment: No
Create backup boot environment: Yes
PHASE ITEMS
기본Java를
1.6버젼으로 변경
root@dong1:~# java-version
javaversion"1.6.0_85"
바뀐 java version
• IPS(Image Packing System) - publisher
19
2. Solaris11 Package
<그림-1> IPS Network(default) <그림-2> IPS 구성요소
IPS 게시자, 저장소
• 게시자는 하나 이상의 패키지를 개인, 개인 그룹 또는 조직을 식별하는 포워드 도메인 이름.
• 게시자는 클라이언트에서 패키지를 게시하고 검색할 수 있는 패키지 아카이브입니다. 여러 개의 Oracle 패키지 저장소를 사용할 수 있다
• 패키지 설치시 특정 게시자를 지정하지 않으면 첫번째 부터 마지막 게시자 까지 검색하여 FMRI가 일치하는 패키지가 있을때까지 검색하며 설치하게 된다.
• 저장소는 패키지가 게시되고 검색되는 위치, 위치는 URI로 지정되며, 인터넷으로 연결되는 방식과 로컬로 구성할수도 있다.
• FMRI(Fault Management Resource Identifier) - 패키지정보 , 검색돼는 패키지 이름, 버젼정보, 날짜가 포함되어 있다.
Ex) FMRI, = pkg://solaris/developer/apptrace@0.5.11,5.11-0.151.0.1:20101104T230706Z
pkg– 스키마
solaris– publisher
developer–카테고리
apptrace– 패키지이름
0.5.11,5.11 -> component버전,빌드버전
0.151.0.1 -> branch 버젼
• Local IPS 구성
20
2. Solaris11 Package
Web 연결 구성
• 기본 IPS 서버 : http://pkg.oracle.com/solaris/release/(인터넷연결이 확립되어야 지만 가능 – 외부연결네트웍, DNS cllient설정)
• 서버에 package저장소를 구성한다.
• Web(Oracle package site)에서 직접 받아서 구성하는 방법이 있고, Full repo 저장소 파일을 다운받아서 서버로 Upload후 구성하는 방법이 있다.
# pkgrecv -s http://pkg.oracle.com/solaris/release/ -d /export/repoSolaris11 '*‘
----복사중 끊어졌다 다시 받을때는 아래 명령어 사용
# pkgrecv -c /var/tmp/pkgrecv-fOGaIg –s 
http://pkg.oracle.com/solaris/release/ -d /export/repoSolaris11 '*'
Oracle Package Site에서
repo 복사
# zfs create rpool/export/repoSolaris11
# zfs set atime=off rpool/export/repoSolaris11
zfs atime 속성은 file을 읽을 때 파일의 accesstime을 업데이트할지 여부를 제어한다.
이 속성을 off로 설정하면 파일을 읽을 때 쓰기 트래픽이 발생하지 않는다
Repo를 저장할 파일
시스템 만들기
• Local IPS 구성(solaris11.1)
21
2. Solaris11 Package
파일 복사로 구성
• OracleDownload Site에가서repofull이미지를다운받아서서버에Upload한다.
# mount -F hsfs /export/repoSolaris11/sol-11_1-repo-full.iso/mnt
# rsync -aP /mnt/repo/ /export/repoSolaris11 -> /mnt/repo/ 후행슬러시 반듯이 포함(하위디렉토리 전체)
로컬 저장소 만들기
# pkgrepo-s /export/repoSolaris11 refresh
Repo가 저장된 파일시스템
내의 패키지 Index작업
<그림-1> Full repo image Download
• Local IPS 구성(solaris11.2)
22
2. Solaris11 Package
파일 복사로 구성
• Oracle Download Site에 가서 repo full 이미지를 다운받아서 서버에 Upload한다. -> Repository Assembly Script (install-repo.ksh)와 MD5 필수로 받을것….
# zfs create –o atime=off –o mountpoint=/repoSolaris11 rpool/repo
# chmod 777 install-repo.ksh
# ./install-repo.ksh -v -d /repoSolaris11
# pkg set-publisher –G “*” –g file:///repoSolaris11solaris
로컬 저장소 만들기
<그림-1> Full repo image Download
별도 디렉토리에 모두
업로드할것
11.1에서 11.2로 upgrade – 11.3같은방법
• Local IPS 서버 구성(http)
23
2. Solaris11 Package
IPS 서버(pkg/server)
• 서버 환경의 경우 인터넷에 연결이 안되는 구성이 있을수 있다(내부망 및 방화벽구성시)
• Solaris11 서버가 한대면 로컬에 파일을 업로드하여 구성하면 돼겠지만, Solaris11서버가 여러대라면 한대를 IPS 서버로 구성한 다음 다른 서버들이 IPS서버를
게시자로 잡아서 사용하도록 한다.
• 구성이 완료되면 pkg 명령어를 사용하는 클라이언트에서 pkg set-publisher로 구성한다.
# svccfg-s application/pkg/serversetproppkg/inst_root=/export/repoSolaris11
# svccfg-s application/pkg/serversetproppkg/readonly=true
# svcprop -p pkg/inst_root application/pkg/server-> repo 디렉토리 확인
# svccfg-s application/pkg/serversetproppkg/port=80809
# svccfg-s pkg/servereditprop
# svcadmrefreshapplication/pkg/server -> SMF 속성값을 변경하였으므로refresh사용
# svcadmenableapplication/pkg/server
# pkgrepo info -s /export/repoSolaris11
Pkg/server구성
# pkg set-publisher -G '*' -M '*' -g http://localhost:80809/ solaris
-G '*'
solaris 게시자에 대한 모든 기존 원본을 제거
-M '*'
solaris 게시자에 대한 모든 기존 미러를 제거
-g
새로 만든 로컬 저장소의 URI를 solaris 게시자에 대한 새 원본으로 추가
Pkg client 구성
• Local IPS 서버 구성(nfs)
24
2. Solaris11 Package
IPS 서버(pkg/server)
• http 사용시 port를 변경할수 도 있지만 아파치등 고객사의 보안정책에 위배될수도 있다.
• IPS서버를 구성하는 다른 방법으로 NFS를 사용하여 구성하도록 한다.
# zfscreate-o mountpoint=repoSolaris11rpool/repoSolaris11
# zfsset share=name=s11repo,path=/repoSolaris11,prot=nfsrpool/repoSolaris11
name=s11repo,path=/export/repoSolaris11,prot=nfs
# zfsset sharenfs=on rpool/repoSolaris11
# share - 확인
/repoSolaris11 s11repo nfs sec=sys,rw
- 간단방법
# zfsset sharenfs=on rpool/repo
or
# share–o anon=0/repoSolaris11
Pkg/server구성
# pkg set-publisher -G '*' -M '*' -g /net/서버IP/export/repoSolaris11/ solaris
-G '*'
solaris 게시자에 대한 모든 기존 원본을 제거
-M '*'
solaris 게시자에 대한 모든 기존 미러를 제거
-g
새로 만든 로컬 저장소의 URI를 solaris 게시자에 대한 새 원본으로 추가
Pkg client 구성
• Package Update
25
2. Solaris11 Package
Pkg update
• IPS를 사용하면 사용 가능한 업데이트가 있는 모든 패키지를 시스템에서 업데이트하거나, 시스템의 제약을 받지 않는 개별 패키지를 업데이트할 수 있다.
• 패키지 제약을 받는 경우는 메시지가 제공되며, 일반적으로 종속성 또는 버전 지정 문제를 나타낸다.
• 패키지 업데이트의 경우 현재 실행중인 BE(Boot Environment)에 적용하기전에 새로운 BE가 만들어 지거나 백업 BE이 만들어진다.
# pkg update패키지 업데이트
# pkg update library/zlib개별 패키지 업데이트
# pkg update -nv --accept
업데이트가 필요한 패키지
보기
• pkg update를 사용하면 커널구성요소 또닌 기타 하위레벨 시스템 패키지가 업데이트 된다
• pkg update –nv 를 사용하면 실제 패키지를 설치하지 않고 업데이트가 필요한 시스템의 패키지를 표시한다.
• 업데이트의 경우 해당 패키지의 버그수정사항이 포함. = Solaris10 의 특정패치 적용
• Package Update(SRU)
26
2. Solaris11 Package
SRU - 인터넷
• SRU(Support Repository Update) - support 패키지 저장소에 액세스하여 주기적으로 Oracle Solaris 11 시스템을 업데이트할수 있으며, 저장소 형태로 제공된다.
• Solaris10의 patch-bundle같은 개념으로 생각한다.
• Pkg update 작업은 실행 중인 BE에 적용되며, 복구를 위해 백업 BE가 만들어진다. SRU가 적용되면 새 BE가 만들어지며, 필요에 따라 원래 BE로 돌아갈수 있다
• pkg publisher가 인터넷 (:http://pkg.oracle.com/solaris/release) 으로 연결된 경우 release용 SSL키와 인증서를 다운로드후 서버에 업로드 하여 게시자 등록후
업데이트 한다.
# mkdir-m 0755-p /var/pkg/ssl
# cp -i Oracle_Solaris_11_Support.key.pem/var/pkg/ssl
# cp -i Oracle_Solaris_11_Support.certificate.pem/var/pkg/s니
# pkg set-publisher
-k/var/pkg/ssl/Oracle_Solaris_11_Support.key.pem
-c /var/pkg/ssl/Oracle_Solaris_11_Support.certificate.pem 
-Ohttps://pkg.oracle.com/solaris/supportsolaris
# pkg --acceptupdate -v
인터넷 사용으로 업데이트
<그림-1> Key 값 다운로드(https://pkg-register.oracle.com/)
• Package Update(SRU)
27
2. Solaris11 Package
SRU – Local IPS
• 인터넷 연결이 안되고 로컬 IPS 구성시에는 SRU repo incr 이미지를 다운받아서 추가하여 SRU를 업그레이드 한다.
• MOS로 접속(http://support.oracle.com)후 다운로드하여 서버로 업로드한다.
# mount -F hsfs-o ro sol-11-1111-sru11-04a-incr-repo.iso/mnt
# pkgrecv -s /mnt/repo -d /export/repoSolaris11'*'
# pkgreporefresh-s /export/repoSolaris11
# pkgrepo list-s /export/repoSolaris11 entire
PUBLISHER NAME OVERSION
solaris entire 0.5.11,5.11-0.175.0.11.0.4.1:20120901T011439Z
solaris entire 0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z
로컬저장소로 저장
<그림-1> SRU 다운로드
• Package Update(SRU)
28
2. Solaris11 Package
SRU – Local IPS
• 기존 full repo가 있는 곳에 SRU upgrade (incr)를 추가하고 update를 실시한다.
• IPS서버에 먼저 업데이트를 하고 해당 IPS서버로 구성되어 있는 모든 클라이언트 서버들도 적용한다.
# pkg update-v --be-name=SRU11.4–accpt
--be-name으로 백업본을 만들어 SRU를 업그레이드한다.
패키지 업데이트
# pkgrepolist-s http://192.168.6.21/entire
PUBLISHER NAME O VERSION
solaris entire 0.5.11,5.11-0.175.0.11.0.4.1:20120901T011439Z
solaris entire 0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z
# pkg update-v --be-name=SRU11.4--accept.
IPS클라이언트에서 IPS서버
저장소를 사용하여 업데이트
• 패키지를 설치, 업데이트 또는 제거할 때 새 BE나 백업 BE가 생성될 수 있습니다
• --be-name 옵션은 기본이름( solaris)대신 SRU11.4라는 이름으로 BE가 생성이 된다. – 원하는 이름으로 지정
• 이름 미지정시 현재 be에 backup-n(숫자) 이라는 백업 BE가 생성
• Package 저장소 관리 별도 Tip
29
2. Solaris11 Package
SRU관리 – ZFS snapshot
• Package저장소를 최신 SRU 버전으로 업그레이드 후 zfs snapshot으로 관리하면 추후 다른 서버 적용시에는 zfs recv만으로 최신 버전의 패키지 저장소를
구축할수 가 있다.
• Sparc & x86 은 혼용가능하나 release(solaris11.1 과 11.2)는 서로 다른 버전으로 되어 있으니 11.1을 사용중이라면 먼저 11.2의 기본 패키지저장소를 구축한뒤
New SRU 버전으로 11.2로 업그레이드 후에 최신버젼의 SRU로 업그레이드 하도록 한다.
root@dong1:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///repoSolaris11/
root@dong1:~# zfslist
NAME USED AVAIL REFER MOUNTPOINT
rpool/repo 10.8G 4.81G 10.8G /repoSolaris11
패키지 저장소
# zfssnapshot –r rpool/repo@archive
# zfssend -Rv rpool/repoSolaris11@archive | gzip> /opt/SSVC/SRU11.2-5.5.zfs.gz
패키지 저장소 만들기(ZFS)
# zfscreate–o atime=off –o mopuntpoint=/repoSolaris11rpool/repo
# cat /opt/SSVC/SRU11.2-5.5.zfs.gz| gzip -d | zfs receive-vF rpool/repo
# pkg set-publisher–G “*”–g file:///repoSolaris11solaris
다른 서버에 구축
BE(Boot Environment) 부트환경관리
Solaris11 BE
• 부트환경
31
3. Solaris11 Boot Environment
BE
• Solaris11은 OS 파일시스템이 ZFS이다.(Solaris10은 UFS,ZFS선택적 설치가능)
• 부트환경은 ZFS를 사용하여 부트환경을 다중으로 관리 하도록 하게해준다. – 현재 OS 의 clone
• BE(부트환경)은 Root 데이터 집합 및 선택적으로 루트 Data set 아래에 마운트되는 기타 데이터 집합으로 구성되는 부트 가능한 Oracle Solaris 환경이다., 다시
말하면 부트환경은 여러 개 만들순 있지만 실행은 하번에 하나만 활성상태가 된다.
- Data set = 복제본, 파일 시스템 또는 스냅샷과 같은 ZFS 엔티티에 대한 일반 적인 이름. ->ZFS 부분에서 자세히 설명하도록 한다.
• BE의 복제본은 다른 부트 환경을 복사하여 생성되며, 복제본은 부트 가능하다.
• 예를 들어 Patch작업 및 중요한 package설치시 현재OS를 새로운 BE로 생성해놓고, Roll-Back이 필요할시에는 rebooting한번으로 예전 OS환경으로 돌아갈수가 있다.
• Patch시 새로운 BE name을 지정하면 해당 BE로 Patch를 설치하게 되며, 재부팅 후에는 active BE가 된다.
Active BE
Active BE
New BE
Active BE
Updated BE
<그림-1> Solaris11 BE
<그림-2> Solaris11 BE 생성
• 부트환경
32
3. Solaris11 Boot Environment
BE
• BE를 관리하는 방법 = beadm(명령어), pacage manager(pkg를 관리하는 GUI도구)
• 아래는 BE를 관리하는 beadm으로 할수 있는 작업 범위이다.
 활성 부트 환경을 기반으로 새 부트 환경 생성
 비활성 부트 환경을 기반으로 새 부트 환경 생성
 기존 부트 환경의 스냅샷 생성
 기존 스냅샷을 기반으로 새 부트 환경 생성
 새 부트 환경을 만들고 이를 다른 zpool에 복사
 새 부트 환경을 만들고 x86 GRUB 메뉴 또는 SPARC 부트 메뉴에 사용자 정의 제목과 설명을 추가
 기존의 비활성 부트 환경 활성화
 부트 환경 마운트,해제. 삭제. 스냅샷 삭제. 이름바꾸기, 정보표시
root@Sol11-IPS:~#beadmlist
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
SRUupgrade NR / 16.32G static 2014-02-05 18:43
solaris - - 8.20M static 2014-01-20 01:43
Active 필드의 설명
N  현재 부팅이 되어 있는 환경
R -> Rebooting후 부트환경
beadm 명령어로 상태 보기
• 부트환경
33
3. Solaris11 Boot Environment
BE
• 이전에는 Live Upgrade를 수행하거나 patchadd 명령을 사용하여 BE를 업데이트할 수 있었지만, Solaris 11에서는 pkg update 명령을 사용하여 BE를
업데이트하거나 beadm 명령 세트를 사용하여 BE를 생성, 표시 및 제거할 수 있다.
Oracle Solaris 10 구문 Oracle Solaris 11 구문 설명
lucreate -n newBE beadm create newBE 새 BE 만들기
lustatus beadm list BE 정보 표시
luactivate newBE beadm activate newBE BE 활성화
ludelete BE beadm destroy BE 비활성 BE 삭제
luupgrade or patchadd pkg update BE 업그레이드 또는 업데이트
• 시스템에서 작업 수행
① 부트 가능한 이미지인 현재 BE의 복제본을 만듭니다.
② 복제본 BE에서 패키지를 업데이트하되, 현재 BE의 패키지는 업데이트하지 않습니다.
③ 새 BE를 다음 번 시스템 부트 시 기본 부트 옵션으로 설정합니다. 현재 BE는 대체 부트 옵션으로 유지됩니다
④ Ex) # pkg update 만 실행했을 경우 pkg update 작업이 완료되면 새 BE인 solaris-1이 자동으로 활성화 된다.
• Pkg update후 새 BE 부팅시 오류가 발생하여 이전 BE를 활성화 하는 경우 이전 BE를 active시켜 부팅한다.
root@Sol11-IPS:~#beadmlist
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
SRUupgrade NR / 16.32G static 2014-02-05 18:43
solaris - - 8.20M static 2014-01-20 01:43
root@Sol11-IPS:~#beadmactivatesolaris  active필드에 R이 표시된다.
root@Sol11-IPS:~#init 6
beadm 명령어로 상태 보기
<표-1> 기존 부트환경 관리와 차이점
• 부트환경
34
3. Solaris11 Boot Environment
pkg update시 BE
• pkg updaate시 boot환경을 만드는 옵션에 대해서 설명한다.
• 새 BE는 업데이트가 있는 모든 패키지를 업데이트하기 위해 pkg update 명령을 실행할 때 생성이 된다. 예를 들어 solaris-1이라는 이름으로 자동 bename으로
생성이 되지만 다양 한 옵션으로 이름을 변경하는등 수정을 할 수가 있다.
 --no-be-activate
BE가 생성된 경우 해당 BE가 다음 부트 시 활성 BE가 되도록 설정하지 않는다.
 --no-backup-be
백업 BE를 만들지 않는다.
 --require-backup-be
새 BE가 생성되지 않을 경우 백업 BE를 만든다 이 옵션을 생략할 경우 백업 BE가 생성되는지 여부는 이미지 정책에 따라 다르다.
 --backup-be-name dong
백업 BE가 생성되면 기본 이름 대신 “dong”이라는 이름을 지정한다. --backup-be-name을 사용하면 -require-backup-be가 지정된 것을
의미한다.
 --deny-new-be
새 BE를 만들지 않는다. 새 BE가 필요한 경우 설치, 업데이트, 제거 또는 되돌리기 작업이 수행되지 않는다.
 --require-new-be
새 BE를 만든다. 이 옵션을 생략할 경우 BE가 생성되는지 여부는 이미지 정책에 따라 다릅니다 이 옵션은 --require-backup-be와 함께 사용할 수
없다.
 --be-name name
BE가 생성되면 기본 이름 대신 name이라는 이름을 지정한다. --be-name을 사용하면 --require-new-be가 지정된 것을 의미한다.
 BE가 자동으로 생성되는 조건(다음중하나)
 일부 드라이버 및 기타 커널 구성 요소 같은 특정한 주요 시스템 패키지를
업데이트하는 경우 이와 같은 작업은 변형을 설치, 제거, 업데이트, 변경하거나
페이싯을 변경할 때 수행될 수 있다.
• 부트환경 만들기
35
3. Solaris11 Boot Environment
BE Create
• 기존 부트 환경의 백업을 생성하려는 경우 원래 부트 환경을 수정하기 전에 beadm 명령으로 활성 부트 환경의 복제본인 새 부트 환경을 생성하고 마운트할 수
있다.
• beadm create 명령을 사용하여 부트 환경을 복제할 때는 해당 부트 환경에서 지원되는 모든 영역이 새 부트 환경에 복사된다.
root@Donghwa:~# beadmcreate dong
root@Donghwa:~# beadmlist
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
dong - - 66.0K static 2014-04-06 22:27
solaris - - 8.47M static 2014-02-26 07:54
solaris-1 NR / 5.81G static 2014-04-05 00:37
root@Donghwa:~# beadmmount dong/mnt
root@Donghwa:~# df -h | grep dong
rpool/ROOT/dong 9.5G 3.0G 2.6G 54% /mnt
rpool/ROOT/dong/var 9.5G 533M 2.6G 17% /mnt/var
root@Donghwa:~# beadmumount dong
BE 만들어서 mount하기
• beadm create 명령은 부분 부트 환경을 생성하지 않는다. 부트환경인 ZFS rpool을 create 했다면 rpool의 data-set내의 모든 파일시스템이 create된다.(/export는
제외)
root@Donghwa:~# beadmactivatedong
root@Donghwa:~# beadmlist
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
dong R - 5.81G static 2014-04-06 22:27
solaris - - 8.47M static 2014-02-26 07:54
solaris-1 N / 82.0K static 2014-04-05 00:37
만들었던 BE 활성화 하기
• 재부트 시 새 활성 부트 환경은 x86 GRUB 메뉴 또는 SPARC 부트 메뉴에서 기본 선택 사항으로 표시되며, 가장최근에 활성화된 부트 환경이 기본값이다..
• 부트환경 스냅샷 만들기
36
3. Solaris11 Boot Environment
BE snapshot
• beadm명령어를 아래 형식으로 스냅샷을 만들수 있다.
beadm create BeName@snapshotdescription -- 기존 bename에서 @후 스냅샷 이름을 주면 된다.
• 스냅샷은 그자체로는 부팅을 할 수가 없다, 부트환경으로 만들어 주기 위해서는 부트환경으로 만들어 주어야 한다.
root@Donghwa:~# beadmcreate dong@backup
root@Donghwa:~# beadmlist-a
BE/Dataset/Snapshot Active Mountpoint Space Policy Created
------------------- ------ ---------- ----- ------ -------
dong
rpool/ROOT/dong - - 86.82M static 2014-04-06 22:27
rpool/ROOT/dong/var - - 2.86M static 2014-04-06 22:27
rpool/ROOT/dong/var@backup - - 0 static 2014-04-06 23:47
rpool/ROOT/dong@backup - - 0 static 2014-04-06 23:47
BE 스냅샷 만들기
root@Donghwa:~# beadm create-e dong@backupdong2
root@Donghwa:~# beadmlist
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
dong - - 89.83M static 2014-04-06 22:27
dong2 - - 65.0K static 2014-04-06 23:54
스냅샷 부트 가능한 상태(BE)로
만들기
• 부트환경 관리
37
3. Solaris11 Boot Environment
BE 관리
• beadm명령어는 아래와 같은 옵션으로 관리가 된다.
- beadm list [-a | [-ds] [-H] [BeName]
 -a – 사용 가능한 모든 부트 환경 정보를 나열합니다. 이 정보에는 하위 데이터 집합 및 스냅샷이 포함된다.
 -d – 부트 환경에 속한 모든 하위 데이터 집합에 대한 정보를 나열한다.
 -s – 부트 환경의 스냅샷 정보를 나열하다.
 -H – 헤더 정보를 나열하지 않는다. 출력의 각 필드는 세미콜론(;)으로 구분된다.
• beadm list의 active 필드 설명
 R – 재부트 시 활성화된다.
 N – 지금 활성화된다.
 NR – 지금 활성화되고 재부트 시 활성화되다.
 “-” – 비활성화된다
 “!” – 비전역 영역의 부트할 수 없는 부트 환경은 느낌표로 표시됨
root@Donghwa:~# beadmlist-s -d
BE/Dataset/Snapshot ActiveMountpointSpace PolicyCreated
------------------- ------ --------------- -------------
dong
rpool/ROOT/dong - - 86.89M static2014-04-0622:27
rpool/ROOT/dong/var - - 2.86M static2014-04-0622:27
rpool/ROOT/dong/var@backup - - 1.0K static2014-04-0623:47
rpool/ROOT/dong@backup - - 83.0K static 2014-04-0623:47
Beadm list 옵션
• 부트환경 관리
38
3. Solaris11 Boot Environment
BE 관리
• 기존부트환경을 업데이트한다.
• 기본 부트환겯ㅇ을 마운트 하여 pkg install하거나 update를 할수 있다.
root@Donghwa:~# beadmmount dong/mnt
root@Donghwa:~# pkg -R /mnt install xclock
Packages to install: 3
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 3/3 36/36 0.3/0.3 67.5k/s
root@Donghwa:~# beadmumount dong
기존 부트환경 업데이트
• 기존 부트환경을 삭제하거나 이름을 변경한다.
root@Donghwa:~# beadmrenamedong donghwa기존 부트환경 이름변경
root@Donghwa:~# beadmdestroy -f donghwa
Are you sure you want to destroydonghwa? Thisactioncannot be undone(y/[n]):y
기존 부트환경 삭제
 ZFS 용량관리
Pool내의 사용량이 높아 파일을 삭제한후에 df값은 변경이 되었는데 zfs list로 확인해보니 용량이 줄지 않는다.
해당 경우에는 zfs snapshot에 참조가 있어 snapshot까지 삭제를 해야 하는 데 같은 경우로 be도 snapshot을 사용하기 때문에
활성화 된 BE외 참조가 되는 BE를 모두 삭제해 주어야만 용량이 줄어드는 것을 확인할수 있을 것이다.
ZFS(Zettabyte File System)
Solaris11 File System
• ZFS(Zettabyte File System)
40
4. ZFS(Zettabyte File System)
ZFS 소개
• 효율적인 스토리지 리소스 관리 ( virtualizedstorage)
 별도의 볼륨관리 S/W없이 개별 DISK들은 하나의 스토리지 풀에 포함되어 다수의 파일 시스템들이 동적으로 스토리지 풀을 공유하여 사용하며, 파일
시스템의 사이즈를 늘리거나 줄이기 위해서 볼륨을 재구성할 필요 없음 (참조: tmpfs 개념과 유사 )
• 동적 데이타 관리
 파티션, 슬라이스, 볼륨, 파일시스템과 같은 기존의 복잡했던 스토리지 관리 및 복잡한 명령어가 필요없으며, 단순히 스토리지 풀에서 동적으로 필요한
용량만큼 사용하는 방식 ( /etc/vfstab수정 불필요, newfs 작업 불필요)
 ZFS는 Pool을 생성과 동시에 파일시스템이 생성이 되고 해당 Pool의 이름으로 자동 마운트가 된다.
• 최고의 데이터 보안 및 무결성 ( cutting edgedatasecurity& integrity)
 ZFS는 Copy-On-Write 파일시스템이므로 디스크내의 ZFS 구조는 항상 일치하며 불시의 시스템 다운 시에도 복구 과정 (예. Fsck) 이 필요 없으며,
ZFS내의 모든 데이터는 64bit checksum에 의해서 99.9999…(19 9’s) 퍼센트의 자동 데이터 무결성 보장
• 가상 무제한 데이터 확장 ( virtuallyunlimiteddatascalability)
 ZFS는 128 비트 화일 시스템이므로 이론적으로 2128 바이트의 스토리지 , 264 개의 파일 시스템, 스냅샷, 파일 갯수, 디렉토리 엔트리 등을 가질 수
있으며 기존의 32비트나 64비트 화일 시스템보다 16 billionbillion배의 용량을 가질 수 있으나, 현재는 OS나 NFS 같은 File 수준의 프로토콜이 64bit만
지원하기 때문에 64bit 로 제한됨
 모든 메타 데이터는 동적으로할당되므로 inode를 미리 할당하거나 파일 시스템을 처음 만들 때 파일 시스템의 확장성을미리 제한할 필요도 없다.
 Inode갯수에 제한 없이 – 파일개수 제한 없음.
• Solaris11부터기본 파일시스템
 Solaris11부터는 root(OS영역) 및 모든 파일시스템이 ZFS로 기본 동작한다.
 기존의 UFS도 사용은 가능(root제외)하나 SVM은 별도 설치(pkg install svm)후 사용한다.
• ZFS(Zettabyte File System)
41
4. ZFS(Zettabyte File System)
ZFS 소개
전통적인 볼륨
• Abstraction: virtual disk
• Partition/volume for each FS
• Grow/shrink by hand
• Each FS has limited bandwidth
• Storage is fragmented, stranded
ZFS 스토리지 풀
• Abstraction: malloc/free
• No partitions to manage
• Grow/shrink automatically
• All bandwidth always available
• All storage in the pool is shared
• 디스크 Pool 단위로 관리
 다수의 디스크를 Pool(디스크그룹 개념)로 구성후 관리 – 확장 및 관리의 이점 – 하나의 풀에 다수의 파일시스템,Volume이 존재할수 있음.
 File , Slice , 디스크단위로 파일시스템 생성이 가능 – 디스크로 만드는 것 권장.
 Pool내에서 다이나믹 스트라이핑 지원 (mirror, raidz(Raid5개념) 지원)
 파일시스템과 볼륨매니져의 일체형(파일시스템(기본 create)으로 만들수 있고, Volume(create 시 –V 옵션 및 사이즈 명시)으로도 만들수 있음)
 Pool 단위로 import & export가 가능하여 Pool이전(디스크복제 -Hitachi UR, EMC BCV등)이 용이.
• ZFS(Zettabyte File System)
42
4. ZFS(Zettabyte File System)
ZFS 소개
• COW구조(CopyOn Wirite)
• 기존의 파일시스템은 Write중인 데이터를 수정할때 해당 Block을 덮어쓰기하는 형태로 쓰는데, 이도중에 예기치못한 장애가 발생하면, 데이터에 오류가 생기고
파일시스템은 데이터를 가리키는 포인팅 정보를 잃어 버리게된다.
• 이문제를 해결하는 방법으로 fsck를 사용하여 Block정보를 찾아 재 연결시키는 데 fsck는 디스크 전체를 Scan하기 때문에 복구시간이 많이 걸리는 문제가
발생된다.
• ZFS는 트랜잭션 파일시스템을 사용하며, COW(Copy On Write_ 방식으로 사용중인 데이터를 기존의 가진 블록에 덮어쓰지 않고 별도의 다른 블록에 먼저쓰고
쓰기 작업이 완료(commit)되면 포인터를 새로 쓰기된 데이터블록으로 변경한다.
• 이구조에 의해 파일시스템이 80%가 넘지 않도록 주의하여야 하며(성능저하), 80%가 넘을시에 snapshot(파일시스템 백업)시에도 여유공간이 없어 제대로 돼지
않을수 있으니 주의해야 한다.
43
Pool 생성
① Pool을 만든다 -> Pool 생성시 Pool을 구성할 디스크 선택, RAID밧식 선택
② ZFS file system을 만든다..
③ 세부 옵션을 지정 한다. ( quota, mountpoint등등) – 나중에 다시 설명….
• Pool 생성 방법
- zpool create poolname [RAID Type] Disk-----
 RAID Type – mirror(RAID1) , raidz(RAID5개념), raidz2(RAID6 – 더블패리티)으로 구성할수 있음, 지정하지 않을 경우 – stripe로 구성
 Disk – Pool 을 구성할 디스크 용량이 있는 slice까지 줘도 되며, c#t#d# 까지만 줬을경우 Pool안의 디스크가 EFI로 Label된다.
 ( Ex – Pool 을 구성할 디스크 c1t0d0, c1t0d1, c1t0d2, c1t0d3).
root@Donghwa:~# zpool createdong_Pool c1t0d0c1t0d1c1t0d2c1t0d3Pool생성 - Stripe
4. ZFS(Zettabyte File System)
• ZFS 사용 – 시작 - Pool 생성
root@Donghwa:~# zpool createdong_Pool mirrorc1t0d0c1t0d1Pool생성 – mirror방식
root@Donghwa:~# zpool createdong_Pool raidz c1t0d0c1t0d1c1t0d2c1t0d3Pool생성 – raidz방식
44
Pool 확인 - list
• 생성된Pool들을확인한다.–아래예시에서는rpool과test이렇게2개의Pool이있다.
-zpoollist
 NAME – Pool의 이름을 나타낸다.
 SIZE – 해당 POOL의 용량을 나타낸다.
 ALLOC – 해당 POOL의 할당된 공간을 나타낸다. – 사용량 대비
 FREE– 해당 POOL의 할당된 남은 공간을 나타낸다.
 CAP – 전체 pool의 공간의 사용율을 나타낸다 – 90%넘기지 않도록 주의.
 DEDUP – 중복 제거율을 나타낸다.
 HEALTH– 상태를 나타낸다.
 ALTROOT–대체경로를나타낸다.
root@Donghwa:~# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
rpool 9.69G 7.47G 2.22G 77% 1.00x ONLINE -
test 1.99G 416K 1.99G 0% 1.00x ONLINE -
Pool확인 - list
4. ZFS(Zettabyte File System)
• Zpool 확인
45
Pool 확인 - status
• 생성된 Pool의 상태를 확인 한다.
- zpool status
 Pool = 해당 pool의 이름을 나타낸다
 state– 해당 POOL의 상태를 나타낸다.
 ONLINE– 해당 Pool이 정상인 상태
 DEGRADED – 해당 POOL의 구성에 문제가 있거나 mirror및 raid구성중인 상태라 성능저하가 나올수 있는 상태
 FAULED – 해당 POOL의 구성요소(DISK)에 문제가 있는 상태, Pool이 사용불가능 상태이다.
 Scan – 해당 pool이 스크럽중이거나 mirror구성중일때 상태를 나타낸다.
 Config – 해당 pool의 구성요소 및 상태를 보여준다
 -xv 옵션을 주면 현재 pool상태에서 error가 있는 부분만 보여주게 된다. - # zpoolstatus-xv
root@Donghwa:~# zpool status
pool: test
state: ONLINE
scan: resilvered 427K in 0h0m with 0 errors on Fri Jul 11 09:15:35 2014
config:
NAME STATE READ WRITE CKSUM
test ONLINE 0 0 0
c8t1d0s0 ONLINE 0 0 0
errors: No known data errors
Pool확인 - status
4. ZFS(Zettabyte File System)
• Zpool 상태 및 구성요소 확인
46
Pool 에 디스크 추가
• Stripe및 raidz로 구성된 pool에 디스크를 추가한다..
- zpool add poolnameDisk
 add – stripe이나 raidz로 구성된 pool에 디스크를 추가할때 쓰는 sub옵션
 Poolname – 디스크를 추가할 pool name , Disk - 추가할 디스크
root@Donghwa:~# zpool status
pool: test
state: ONLINE
scan: resilvered 427K in 0h0m with 0 errors on Fri Jul 11 09:15:35 2014
config:
NAME STATE READ WRITE CKSUM
test ONLINE 0 0 0
c8t1d0s0 ONLINE 0 0 0
errors: No known data errors
root@Donghwa:~# zpool add test c8t2d0
root@Donghwa:~# zpool status
pool: test
state: ONLINE
scan: resilvered 427K in 0h0m with 0 errors on Fri Jul 11 09:15:35 2014
config:
NAME STATE READ WRITE CKSUM
test ONLINE 0 0 0
c8t1d0s0 ONLINE 0 0 0
c8t2d0 ONLINE 0 0 0
Pool에 디스크추가
4. ZFS(Zettabyte File System)
• Zpool 관리 – 디스크 추가
47
rpool구성
• Soalris11 – ZFS 기본 파일시스템
• Disk geometric에 따라 관리 방식이 다름. – EFI의 경우 OS백업 유의 및 복구시 Slice지정 및 Bookblk지정 필요 - # bootadm install-bootloader -f -P rpool.
• Solaris11의 경우 AI를 사용한 설치를 제외하고는 설치시 미러를 할수 가 없다. – Solaris10에서는 ZFS로 OS설치시 디스크 선택하여 가능
• 설치후 Mirror를 구성하게 되면 fmadm faulty error가 발생한다. – resilvering중 rpool이 DEGRADE되기 때문..
4. ZFS(Zettabyte File System)
• Zpool 관리 – OS Pool구성
• Solaris11 설치시 SMI방식
• Zpool status – rpool – c0t0d0s0
• Solaris11 설치시 EFI방식
• Zpool status – rpool – c0t0d0
• T장비경우 zfs Disk mirror구성시 silvering되는 동안
amber(경고등) 점등
M
X
T
해당내용은 2015년 4월
기준으로 xcp
fiirmware후 EFI를 지원
48
rpool구성
• 설치시 파일시스템 정보 없음.
• Swap & dump는 메모리 크리 변수에 따라 자동 지정 – (평균적 swap 4GB, dump 메모리 1:1 & 절반)
4. ZFS(Zettabyte File System)
• Zpool 관리 – OS Pool구성
No 기본파일시스템 마운트포인트 관리
1 rpool/ROOT/solaris(BE) /
Pool의 용량full 방지를 위해 Quota를 줘서 사용
Rpool의 디스크 사이즈가 300GB일경우
# zfs set qutoa=290g rpool/ROOT/solaris
2 rpool/ROOT/solaris/var /var 용량관리
3 rpool/VARSHARE /var/share
여러 부트 환경(BE) 간에 자동 데이터 공유를 사용
관리 無
4 rpool/VARSHARE/pkg /var/share/pkg
5 rpool/VARSHARE/pkg/repositories /var/share/pkg/repositories
6 rpool/VARSHARE/zones /system/zones
7 rpool/dump Volume
Root Pool에 만드는 것을 권고
만약 rpool이외의 다른 Pool에 만들시에
raid-z Pool의 볼륨을 추가하면 지원안됨.
8 rpool/swap Volume
Root Pool에 만드는 것을 권고
만약 rpool이외의 다른 Pool에 만들시에
raid-z Pool의 볼륨을 추가하면 지원안됨.
Swap 파일 지원되지 않음 – mkfile
49
Pool 에 디스크 추가 - 미러
• Solaris10에서는 ZFS로 선택후 OS설치시 디스크 2개를 선택하여 설치하면 자동으로 미러를 구성하여 설치가 된다.
• Solairs 11에서는 해당 기능이 없으며 하나의 디스크로 OS를 설치하여야 한다.
• 설치후 OS디스크를 미러구성을 할때는 zpool attach명령을 사용하도록 한다.
- zpool attach poolname 기존디스크 Disk
 attach – 단일디스크에 디스크를 추가하여 미러를 구성하거나 기존의 미러 디스크풀에 디스크를 추가할때 사용
 Poolname – 디스크를 추가할 pool name
 기존디스크 – zpool status로 나온 기존디스크
# zpoolattachrpoolc2t0d0s0c2t1d0s0
Makesureto waituntilresilveris done beforerebooting.
Pool에 디스크추가
4. ZFS(Zettabyte File System)
• Zpool 관리 – 기존 디스크에 미러구성
 Attach시 message발생
Solaris10에서는 attach시 resilvering중이라고 나오지만 solaris11에서는 resilvering 중이라는 메시지와 함께 Pool의 상태가
DEGRADED로 빠지게 된다. 이는 미러링을 하는 도중에는 성능저하가 나올수 있다는 뜻이며 resilvering이 완료된 후에는 풀의
상태가 ONLINE으로 바뀌게 되므로 상관이 없다.
T-Serise의 장비에서는 실버링 되는 동안 FMD에서 감지가 되어 amber(경고등)이 들어올것이다 리실버링이 완료되면 자동
clear되니 신경쓰지 않아도 된다.
50
Pool 에 디스크 교체
• Stripe로 구성된 Pool을 제외한 mirror혹은 raidz로 구성된 Pool의 디스크 교체 법이다.
 Mirror로 구성된 Pool의 용량이 작을때 사용할수도 잇다 – 용량 큰 디스크로 mirror구성후 사용(attach)
 rpool(root pool)일 경우 zpool replace 명령을 사용하여 루트 풀 디스크에서 디스크를 교체하는 경우 부트 블록을 수동으로 적용해야 한다
# zpoolofflinerpoolc1t0d0s0
# cfgadm-c unconfigurec1::dsk/c1t0d0
-- fault난 디스크 교체
# cfgadm-c configure c1::dsk/c1t0d0
-- 새 디스크 기존 디스크와 VTOC정보를맞춘다.
# prtvtoc/dev/rdsk/c1t1d0s2 | fmthard –s - /dev/rdsk/c1t0d0s2
# zpoolonlinerpoolc1t0d0s0
# zpoolreplacerpoolc1t0d0s0
# zpoolstatusrpool
Pool내의 디스크 교체
4. ZFS(Zettabyte File System)
• Zpool 관리 – 디스크 교체
 autoreplace 속성
#zpool get all poolname 시 나오는 속성 값중 autorepace값이 있다.
이 등록 정보는 장치 자동 교체를 제어하며. off로 설정된 경우, 관리자가 zpool replace 명령을 사용하여 장치 교체를 시작해야
ㅎ한다. 하지만 on으로 설정된 경우에는 , 이전에 풀에 속하던 장치와 동일한 실제 위치에 있는 새 장치가 발견되면 자동으로
포맷되고 교체됩니다. 기본값은 off이다.
51
Pool 에 디스크 교체
• 디스크를 add하여 디스크 용량을 증설하는 방법외에 사용중인 디스크의 용량을 늘이기 위해 사용한다.
 예를 들어 rpool일경우 OS Disk Pool인 root pool은 attach로 mirror구성은 가능하지만 add로 디스크추가하여 용량을 늘이는것은 불가하다.
 그렇다면 mirror구성시 용량이 큰 디스크를 attach하면 mirror구성은 당연히 작은 용량으로 맞추어 mirror 가 구성이 될것이다.
 이때 기존의 용량이 작은 디스크를 떼어내고 autoexpend를 설정하면 용량이 큰 디스크쪽으로 pool Size가 늘어난다.
# zpoolattachrpoolc2t0d0s0c2t1d0s0
Makesureto waituntilresilveris done beforerebooting.
# zpooldetachrpoolc2t0d0
# zpoolset autoexpand=onrpool
혹은
# zpoolonline-e c2t1d0
Pool내의 디스크 용량 늘이기
4. ZFS(Zettabyte File System)
• Zpool 관리 – 미러Pool 용량 늘이기
52
Pool 에 디스크 교체
• Pool을 삭제하고 import하는 방법에 대해 설명한다..
• - zpoolimport [-D]
 뒤레 아무 이름도 주지 않으면 import할수 있는 pool들이 나열된다..
 -D 옵션을 주면 삭제된 import도 보인다. 삭제된 pool import시 –D옵션을 주고 impot한다.
• - zpool import test
 test라는 pool을 import한다.
• - zpool destroy test
 test라는 pool을 삭제한다.
• - zpool export test
 test라는 pool을 export한다.
root@Donghwa:~# zpool destroytest
root@Donghwa:~# zpool import -D
pool: test
id: 13885982651507388717
state: ONLINE (DESTROYED)
action: The pool can be imported using its name or numeric identifier.
config:
test ONLINE
c8t1d0s0 ONLINE
c8t2d0 ONLINE
root@Donghwa:~# zpool import –D test
Pool삭제후 삭제된 pool import
4. ZFS(Zettabyte File System)
• Zpool 관리 – Pool 삭제 및 import/export
53
OS Pool - rpool
• Solaris11 은 설치시 기본적으로 ZFS로만 사용이 가능하다.
• 이때 생성되는 일반적인 root Pool의 이름이 rpool이다.
• 시스템이 설치된후 사용가능한 Root Pool 파일시스템 및 구성요소는 아래 와 같다.
# zfslist-r rpool
NAME USED AVAIL REFER MOUNTPOINT
rpool 5.41G 67.4G 74.5K /rpool
rpool/ROOT 3.37G 67.4G 31K legacy
rpool/ROOT/dong 3.37G 67.4G 3.07G /
rpool/ROOT/dong/var 302M 67.4G 214M /var
rpool/dump 1.01G 67.5G 1000M -
rpool/export 97.5K 67.4G 32K /rpool/export
rpool/export/home 65.5K 67.4G 32K /rpool/export/home
rpool/export/home/admin 33.5K 67.4G 33.5K /rpool/export/home/admin
rpool/swap 1.03G 67.5G 1.00G -
rpool의 구성요소
4. ZFS(Zettabyte File System)
• Zpool 관리 – rpool
• - rpool
 부트관련 구성요소를 포함하는 마운트 지점.
• - rpool/ROOT
 엑세스가 불가능하며 관리가 필요없는 특수 구성요소이다.
• - rpool/ROOT/dong
 / 디렉토리에서 엑세스가 할수 있는 실제 Root BE(Boot environment) 이다. – 여기서는 dong라는 BE를 만들어 부팅을 해서 dong으로 나온다.
• - rpool/ROOT/dong/var, rpool/export/home/admin
 별도의 /var 파일시스템, 별도의 /export/home/admin파일시스템(사용자 홈디렉토리로 사용)
• - rpool/dump , /rpool/swap
 덤프와 스왑 볼륨이다.
54
ZFS 사용 - Create
• Pool을 생성하고 디스크를 추가하여 준비가 되엇으면 실제로 File system을 만들거나 volume을 만드는 것은 zfs 명령어로 관리가 된다.
• 기본적으로 pool을 생성하면 해당 pool이름으로 자동으로 마운트가 된다. -> 해당 pool이름으로 zfs 명령어로 관리를 하면된다.
• Zfs 는 계층적 파일시스템이다. /test/donghwa를 마운트 하려면 test가 만들어 져있고 test/donghwa 라는 filesystem을 만들어야 한다.
• 아무 옵션없이 create를 하게 되면 zfs명으로 마운트가 된다.
• 파일시스템으로 작성시 기본적인 BlockSize는 128k이다.
root@Donghwa:~# zfslist
test 97K 976M 31K /test
root@Donghwa:~# zfs createtest/donghwa
root@Donghwa:~# df –h
test 976M 32K 976M 1% /test
test/donghwa 976M 31K 976M 1% /test/donghwa
Zfs 만들기
/test/donghwa로 마운트하기
4. ZFS(Zettabyte File System)
• zfs 사용 – ZFS 만들기
• # zfscreatetest/dong --- zfs 만들기.
• # zfscreate–V 1g test/dong – test/dong이라는 볼륨 만들기
• # zfsdestroytest/dong - - test/dong zfs 삭제 – zfs 및 스냅샷 삭제시 사용
• # zfsget all test/dong – test/dong zfs 속성값들 보기
• # zfsset 속성변수=값test/dong – test/dong zfs 의 속성 변경(mountpoint, quota, mount여부등등)
• # zfssnapshottest/dong@backup– test/dong zfs 스냅샷생성
• # zfsclone test/dong@backup – 스냅샷분의 쓰기 가능한 복제본
55
Zfs 사용 – 속성값 변경
• 만들어 진 ZFS 속성을 변경한다.
• 가장 많이 사용하는 부분만 설명하도록 한다.
# zfscreate–o mountpoint=/test/donghwa–o quota=30g test/dongZFS만들때 사용
4. ZFS(Zettabyte File System)
• zfs 사용 – ZFS 속성변경
• # zfsset quota=30gtest/dong  quota는 만들어진 파일시스템에 대한 사용용량을 명시한 만큼 제한하는 것이다.(ZFS 효율적인 파일시스템 사용을 위해
반드시 설정한다.
• # zfsset mountpoint=/test/donghwa ZFS 는 기본적으로 만들어진 이름(dataset)으로 마운트가 된다. 원하는 디렉토리로 마운트 할때 사용한다.
• # zfs set reservation=30g test/dong  reservation은 test/dong에 미리 30G 를 할당해 사용하는 것을 의미한다. 설정해 놓으면 전체 용량에서 해당 용량 만큼
줄어든다.
• # zfsset canmount=off test/dong ZFS는 /etc/vfstab을 수정할 필요가 없이 자동 마운트 이다. Mount를 하지 않을 경우 사용한다.
• # zfsset quota=30g test/dong ZFS 는 기본적으로 Pool의 전체용량을 사용한다 개별 dataset(filesystem)을 생성할경우 해당 filesystem에 quota를 지정하여
해당 용량만큼만 사용하도록한다. – Pool의 용량은 줄어 들지 않음. – 용량관리에 용이
# zfsdestroy test/dongZFS 삭제
56
Zfs 사용 – Create volume
• ZFS는 볼륨으로 에뮬레이팅 할수 있다.
• 기본적으로 create를 한면 파일시스템으로 마운트가 되지만 create시 -V 옵션과 함게 Size를 명시하면 volume으로 만들어진다.
• 오라클 RAC와 같은 환경에서 shared volume기능은 제공하지 않지만 sysbase나 informix DB를 사용할경우 각각의 Raw Device를 만들때는 해당 기능을
사용하도록 한다.
• 볼륨으로 만들시에는 기본적인 Block Size는 8K 이다.
• 볼륨을 만들어 해당 볼륨을 가지고 UFS 파일시스템 을 만들어 사용할수도 있다.
• 해당 볼륨의 위치는 “/dev/zvol/rdsk/poolname/volume” 이다.
root@test119 # zfscreate-V 1g u/test
root@test119 # zfsget all u/test| grep -i vol
u/test type volume -
u/test volsize 1G local
u/test volblocksize 8K -
root@test119 # ls -rtl /dev/zvol/rdsk/u/test
lrwxrwxrwx 1 root root 39 9월 11일 11:31 /dev/zvol/rdsk/u/test -> ../../../../devices/pseudo/zfs@0:1c,raw
ZFS 볼륨을 만들어 확인
Poolname = u
4. ZFS(Zettabyte File System)
• zfs 사용 – ZFS Volume만들기
• # zfscreate–V 2g test/vol -> 2gb의볼륨을 create한다.
root@test119 # zfsset volsize=8grpool/swaprpool의 볼륨인 swap사이즈변경
57
ZFS snapshot사용
• Snapshot은 filesystem & volume에 대한 read only복사본이며 Pool내에서 추가 디스크 공간을 소비하지 않는다.
• 활성 데이터 세트 내의 데이터가 변경되면 이전 데이터를 계속 참조하기 때문에 스냅샷에서 디스크 공간이 소비된다.
• ZFS현재의 내용을 snapshot(읽기전용)으로 찍어 특정시점으로의 파일단위 복원 및 전체 복원이 가능하다.
• 파일시스템의 정보를 이미지 백업 해 두었다가 특정에러나 파일실수 저장,삭제,덮어쓰기등 손상이 발생되면 이미지 백업에서 해당 파일만 복구할수 있는것이다.
root@Donghwa:~# zfslist
test 102K 976M 31.5K /test
root@Donghwa:~# cat /test/testfile
This is snapshot Test file!!!!!!
root@Donghwa:~# zfssnapshottest@backup
root@Donghwa:~# zfslist -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
test@backup 0 - 31.5K -
root@Donghwa:~# rm /test/testfile
root@Donghwa:~# ls /test/testfile
/test/testfile: No such file or directory
root@Donghwa:~# cd /test/.zfs/snapshot/backup
root@Donghwa:/test/.zfs/snapshot/backup# ls
testfile
root@Donghwa:/test/.zfs/snapshot/backup # cp ./testfile /test/testfile
root@Donghwa:~# cat /test/testfile
This is snapshot Test file!!!!!!
Zfs 스냅샷 사용하여 파일 복구
4. ZFS(Zettabyte File System)
• zfs 사용 – ZFS 백업 - snapshot
• # zfssnapshot test@backup -> test@backup으로스냅샷이 생성돼며 스냅샷 디렉토리는 해당 마운트 디렉토리 밑의 .zfs이다.
• # zfssnapshot –r test@backup-> test밑의하위의 모든 zfs파일시스템&볼륨들에대한 스냅샷.
• # zfsrollback test@backup  생성된 스냅샷이 생선된시점으로모두 복원하기 위한 옵션.
• # zfsdestroytest@backup 생성된 스냅샷 삭제-
58
ZFS 원격지 복사
• ZFS send /recive를 사용하면 전체 스트림 혹은 증분 스트림을 ZFS 스냅샷 데이터를 전송하고 ZFS 스냅샷 데이터 및 파일 시스템을 수신할 수 있다.
• 복제방법은 기존 Pool단위(Pool내의 모든 ZFS Dataset)로 zfs snapshot을 실행한뒤 실행한 시점으로 부터 모든 data를 생성된 Pool(신규디스크로 만들어진
Pool)안의 zfs 로 전송하는 방법이다. 해당방법만 제대로 숙지하여 응용해서 사용하면 된다. – Pool내의 모든 dataset및 속성이 그대로 전달된다.
4. ZFS(Zettabyte File System)
• zfs 사용 – ZFS 백업 – 스냅샷을 이용한 복제
root@test:~# zpool status
pool: B_Test_pool
state: ONLINE
NAME STATE READ WRITE CKSUM
B_Test_pool ONLINE 0 0 0
c1t5d0 ONLINE 0 0 0
c1t6d0 ONLINE 0 0 0
c1t7d0 ONLINE 0 0 0
pool: Test_pool
state: ONLINE
NAME STATE READ WRITE CKSUM
Test_pool ONLINE 0 0 0
c1t1d0 ONLINE 0 0 0
c1t3d0 ONLINE 0 0 0
c1t4d0 ONLINE 0 0 0
root@test:~# zfssnapshot-r Test_pool@backup
root@test:~# zfssend-RvTest_pool@backup| pv | zfsrecv –vF B_Test_pool
sending full stream to Test_pool@backup
sending full stream to Test_pool/product@backup
sending full stream to Test_pool/log@backup
estimated stream size: 186M
receiving full stream of Test_pool@backup into B_Test_pool@backup
received 45.8KB stream in 1 seconds (45.8KB/sec)
receiving full stream of Test_pool/product@backup into B_Test_pool/product@backup
received 187MB stream in 15 seconds (12.4MB/sec) ]
receiving full stream of Test_pool/log@backup into B_Test_pool/log@backup
187MB 0:00:16 [11.4MB/s] [ <=> ]
received 587KB stream in 1 seconds (587KB/sec)
ZFS 원격 복사
Send / recv사이에 pv를 주면
진행과정을 monitoring할수 있다
59
ZFS rpool백업
• ZFS 스냅샷을 이용하여 OS백업을 받는 방법이다.
• Snapshot과 send옵션을 사용하여 백업을 받는다.
① rpool 스냅샷 실행
 # zfssnapshot –r rpool@archive
② 불필요한 스냅샷 제거 – rpool의 구성요소중 swap과 dump는 용량만 차지하고 현재의 임시이기 때문에 삭제하고, 복구시 새로 생성해주면 된다.
 # zfsdestroy rpool/swap@archive
 # zfsdestroy rpool/dump@archive
③ 스냅샷분을 다른 경로에 저장
 # zfssend-Rv rpool@archive| gzip> /dev/rmt/0  /dev/rmt/0이라는 tape장치에 저장
 # zfssend-Rv rpool@archive| gzip> /data/archive_201409-osbackup.zfs.gz -> /data라는 별도의 파일시스템에 저장(압축포함)
 # zfssend-Rv rpool@archive| gzip| ssh USER@IP"cat>/data/archive_$(hostname)_$(date+%Y%m%d).zfs.gz“ -> 원격지 파일시스템에 저장
④ 해당 스냅샷분 삭제
 # zfsdestroy–r rpool@archive
⑤ 기존 구성정보 백업 – 만일을 위해 해당 rpool의 속성값및 필요정보들을 백업해두면 좋다.
 # zfsget all rpool
 # zpoolget all rpool  해당 zpool의 속성값 저장
 # prtvtoc/dev/rdsk/c1t0d0s2>> /data/osdisk.vtoc  OS디스크 VTOC백업
4. ZFS(Zettabyte File System)
• zfs 사용 – ZFS 백업 – 스냅샷을 이용한 OS백업
60
ZFS rpool복구
• ZFS 스냅샷을 이용하여 OS복구하는 방법이다.
① Cdrom Single모드 로 부팅 – Solaris11에서는 Solaris10의 failsafe( ok> boot –F failsafe ) 기능을 제공하지 않으므로 반듯이 cd media가 필요하다.
 ok>boot cdrom-s
② 복구할 디스크 VTOC작성  일반적으로 sparc에서는 smi label을 boot device로 지원하며 slice0번으로 용량을 모두 할당하도록 한다.
 # format-> p  0 번선택후 용량 할당
 # fmthard–s /data/osdisk.vtoc/dev/rdsk/c1t0d0s2  백업받은 VTOC가 있을 경우 해당
③ 복구할 디스크에 임시 Pool생성
 # zpoolcreate–f rpool c1t0d0s0
④ 생성된 rpool에 백업 받은 OS 복구 ( 백업받은 위치에 따라 다름)
 # ssh USER@IP "cat/data/archive_myhost_20111011.zfs.gz" | gzip-d | zfsreceive -vF rpool 원격지 파일시스템에서 가지고와서 복원
 # zpoolimport–f data
 # cat /data/archive_myhost_20111011.zfs.gz | gzip–d | zfsrecv –vF rpool -> 별도의 디스크에 저장되어 있는 경우
⑤ Swap & dump디바이스 생성
 # zfs create–b 8k –V 16GBrpool/swap
 # zfscreate–b 128k16GB rpool/dump
⑥ Rpool Boot환경 설정
 # zpoolset bootfs=rpool/ROOT/solaris rpool-> solaris는 BE 이름이다.
 # zpoolset failmode=continuerpool -> failmode는 장치연결손실때 동작여부이다. 기본값은 wait이며, 이경우에는 장치 교체후 zpool clear를 해주어야
한다.
 # installboot -F zfs /usr/platform/`uname-i`/lib/fs/zfs/bootblk/dev/rdsk/c1t0d0s0
4. ZFS(Zettabyte File System)
• zfs 사용 – ZFS 백업 – 스냅샷을 이용한 OS복구
<그림-1> swap & dump 사이즈 권장 용량
61
ZFS Cache사용
• ZFS 는 기본적으로 캐쉬메모리를 시스템의 메모리를 사용하며 IO가 많을시 많게는 시스템 전체 1GB를 뺀 나머지값을 대체캐시로 사용하게됨.(4GB미만은 75%)
• 메모리 점유해 사용시 기타 Applicatiuon의 요청이 있을시 반납을 하는 구조로 되어는 있지만 관제나 snmp를 사용한 모니터링을 하는 고객사에서는 메모리 사용에
대한 경고치가 나올수가 있다.
• 이는 파라미터를 사용해서 수정이 가능하며 3GB까지 설정하도록 한다. - /etc/system파일에 적용 – 재부팅 필요
root@test119 # kstat zfs:0:arcstats:c_max
module: zfs instance: 0
name: arcstats class: misc
c_max 1195026432
root@test119 # echo "::memstat" | mdb -k
Page Summary Pages MB %Tot
------------ ---------------- ---------------- ----
Kernel 351323 2744 34%
ZFS File Data 260898 2038 25%
Free (cachelist) 57093 446 6%
Free (freelist) 269312 2104 26%
Total 1028200 8032
Physical 1025148 8008
ZFS 캐쉬메모리 확인
4. ZFS(Zettabyte File System)
• zfs 사용 – ZFS 기타 속성 변경(파라미터 등)
# vi /etc/system– 안에 추가
set zfs:zfs_arc_max=3221225472
# init6
캐쉬사이즈 지정 – 3G
62
Oracle DB & Storage
• ZFS 는 파일시스템을 생성시 기본적으로 Block Size(recordsize)를 128K를 사용한다.
• Oracle DB사용시에는 init.ora파일에 명시되어 있는 db_block_size는 일반적으로 8192(8K)를 사용한다.
• Oracle DB의 archive log용으로 사용하는 filesystem에서는 compression과 logbias설정을 지정하도록한다.
• ZFS 파일시스템을 DB Data를 사용하거나 일반적으로 DB Data를 사용하지 않더라도 작은 파일이 다수 존재 할때에는 ZFS 생성시 recordsize를 변경해주는 것이
좋다.
# zfscreate-o recordsize=8k-o mountpoint=/my_db_path/data dbpool/dataZFS 생성시 recordsize지정
4. ZFS(Zettabyte File System)
• zfs 사용 – ZFS 기타 속성 변경(파라미터 등)
# vi /etc/system– 안에 추가
set ssd:ssd_max_throttle=20
set zfs:zfs_vdev_max_pending=20
# init6
파라미터 설정
• 히다찌 EMC등 스토리지 사용시 Queue Depth관련된 파라미터를 수정하여야한다. – lun갯수가 많을 경우… 스토리지와 협의후 진행.
• 스토리지와 연결된 채널(port)에 queue값이 full이 차서 TOV(Time out Value)가 걸려 link가 끊어지는 증상이 있을수 있다
• 솔라리스의 기본값은 256이다.
 파라미터 값 주의
set ssd:ssd_max_throttle=20 -> 이부분의 파라미터는 EMC Powerpath(Path이중화솔루션) 설치시 system파일에 자동으로
들어가게 되어 있다.
파일에 작성시 확인하고 중복으로 들어가지 않게끔 한다.
Unified Archive
Solaris11.2 & 11.3 unified archive
64
Unified archive
• Solaris11.2 release부터 사용되는 Unified Archive는 Oracle Solaris에 새로 도입된 고유 아카이브 유형
• Unified Archive를 사용하면 여러 시스템 인스턴스를 하나의 통합된 파일 형식으로 아카이브할 수 있고 단일 호스트에서 하나 이상의 아카이브된 Oracle Solaris
인스턴스를 포함할 수 있습니다. 아카이브를 만드는 동안 포함할 설치된 영역을 개별적으로 선택할수 있다.
• Solaris10에서 사용하는 flash archive와 유사하지만 kernel zone에 대한 archvie및 배포가 가능여 클라우드 환경에서는 더욱 유연하게 사용할수 있다.
4. ZFS(Zettabyte File System)
• OS 복구용 & 복제용 archive 솔루션 - unified archive
<그림-1> unifired archive를 사용하여 시스템 설치
• 해당 그림-1은 한대의 physical 서버에 solaris OS를 설치한 후 기본 설정 (FTP,ssh,ttelnet)표준 파라미터(ZFS cache, ulimit,buffer)설정, profile설정, 표준
OS보안설정작업, 기본 package설치를 한후에 unified archive image & media를 생성 하여 해당 미디어로 phsical(Control Domain) , 가상화(IO domain, guest
domain)에 설치하는 것을 나타낸다.
• 해당 방법으로 모든 OS설치 및 설정작업에 대한 공수와 시간을 단축할수 있으며, 해당방법으로 zone을 생성하여 배포하여 사용할수있다.
• 장비처음 구매시 factory default된 OS가 unified archive로 설치된 것이다.
65
복제 모드
• 활성부트(BE) - # beadm list시 NR로 표기된 BE)만으로 아카이브를 생성한다.
• 정의된 이미지를 신속하게 만들고 배포할 목적으로 만든다.
• 이전페이지의 다수의 시스템 설치시 해당 방법을 사용하였다.
• 아카이브를 생성하는 명령어인 # archiveadm의 기본모드이다. – 옵션없이 사용하였을경우….
• OS 인스턴스의 시스템 구성 정보와 SSH 키/암호와 같은 중요한 데이터를 포함하지 않는다 hostname도 포함하지 않아 설치시에 hostname 및 Network정보 기본
언어는 설정하며 설치가 진행이 된다.
4. ZFS(Zettabyte File System)
• OS 복구용 & 복제용 archive 솔루션 - unified archive
복구 모드
• 생성하는 시스템에서 모든 포함된 인스텀스 및 Boot envionment를 포함한다. - # beadm list 내의 모든 내용 포함
• 활성화된 BE외에 다른 BE로 부팅을 진행할수는 없다. 모든 BE를 포함하는 이유는 단지 중요 데이터 복구용(beadm mount로) 으로만 사용된다.
• OS백업 / 복구시 사용한다.
66
Unified archive만들기
• Archiveadm명령어로 생성 및 관리를 할수 있다.
• 해당 명령어는 반드시 IPS가 있어야 한다. ( pkg publisher)
• 아래의 순서로 진행이 된다.
① # archiveadm create로 unified archive 이미지를 생성한다. - (-D 옵션으로 archive시 제외할 ZFS dataset(filesystem&volume)을 지정한다.)
② # archiveadm info로 확인한다.
③ # archiveadm create-media로 배포할때 사용할 media image를 만든다. (iso-4GB 미만, usb- 4GB이상)
4. ZFS(Zettabyte File System)
• OS 복구용 & 복제용 archive 솔루션 - unified archive - 복제
root@install # archiveadmcreate-D rpool/backup /backup/sol11.uar --exclude-media
Initializing Unified Archive creation resources...
Unified Archive initialized: /backup/sol11.uar
Logging to: /system/volatile/archive_log.1367
Executing dataset discovery...
Dataset discovery complete
Preparing archive system image...
Beginning archive stream creation...
Archive stream creation complete
Beginning final archive assembly...
Archive creation complete
Unified archive 생성
root@install#archiveadmcreate-media-s /net/192.168.128.104/repoSolaris11/-f usb/backup/sol11.uar-o /backup/sol11.usb
Initializing Unified Archive creation resources...
Initiating media creation...
Preparing build environment...
Adding archive content...
Image preparation complete.
Creating USB image...
Finalizing media image: /backup/sol11.usb
Unified archive media 생성
67
Unified archive 배포
• 생성한 이미지를 LDOM의 가상화 OS에 설치하는 방법이다.
• 해당 생성된 iso & USB이미지를 iso vdisk로 만들어 준후에 설치를 진행한다.
4. ZFS(Zettabyte File System)
• OS 복구용 & 복제용 archive 솔루션 - unified archive – 복제 - 가상화
root@dong# ldm add-vdsdev /root/solaris11.usb os-dvd3@iso-vds
root@dong# ldm ls -o disk
NAME
primary
VDS
NAME VOLUME OPTIONS MPGROUP DEVICE
iso-vds os-dvd2 /root/sol11.usb
test-vds-ctl test_os /dev/dsk/c0t500003958813FCA0d0s2
-----------------------------------------------------------------------------
NAME
test
DISK
NAME VOLUME TOUT ID DEVICE SERVER MPGROUP
osdisk test_os@test-vds-ctl 0 disk@0 primary
vdisk_iso os@iso-vds 99 disk@99primary
LDOM에서 설치
68
4. ZFS(Zettabyte File System)
• OS 복구용 & 복제용 archive 솔루션 - unified archive – 복제 - 가상화
root@dong# telnet localhost 5000
{0} ok boot vdisk_iso - install
Boot device: /virtual-devices@100/channel-devices@200/disk@63 File and args: - install
SunOS Release 5.11 Version 11.2 64-bit
Copyright (c) 1983, 2015, Oracle and/or its affiliates. All rights reserved.
Configuring devices.
Hostname: solaris
Using the default install manifest for installation
solaris console login: -> 절대 로그인 하면 안됨
Automated Installation started
The progress of the Automated Installation will be output to the console
Detailed logging is in the logfile at /system/volatile/install_log
Press RETURN to get a login prompt at any time.
12:44:44 Install Log: /system/volatile/install_log
12:44:44 100% manifest-parser completed.
12:44:44 100% None
12:44:44 0% Preparing for Installation
생략------------------------------
12:46:34 100% create-snapshot completed.
12:46:34 100% None
12:46:34 Automated Installation succeeded.
12:46:34 You may wish to reboot the system at this time.
Automated Installation finished successfully
The system can be rebooted now
Please refer to the /system/volatile/install_log file for details
After reboot it will be located at /var/log/install/install_log
solaris console login: root
Password: -> passworkd는 solaris 입력
root@solaris:~# reboot
Unified archive 생성
69
4. ZFS(Zettabyte File System)
• OS 복구용 & 복제용 archive 솔루션 - unified archive – 복제 - 가상화
Unified archive 배포
• 리부팅이 완료되면 자동으로 아래화면이 나올것이다.
• 솔라리스11.2 처음 설치화면과 동일하다 . 그대로 진행하면 된다. – locale/extra package를 archive한 이미지라 locale 선택이 많아진것을 확인할수 있다.
70
Unified archive 배포
• 생성한 이미지를 physical한 서버에 OS 설치하는 방법이다.
• 4GB미만일 경우에는 DVD로 레코딩하여 그대로 설치진행하면 되고 이상일 경우 usb로 설치하는 방법에 대해 설명한다.
4. ZFS(Zettabyte File System)
• OS 복구용 & 복제용 archive 솔루션 - unified archive – physical
root@dong:~# svcadmdisable-t hal
root@dong:~# ls -rtl /backup
total 63371565
-rw-r--r-- 1 root root 4392299520 Jul 31 19:23 solaris11.usb
-rw-r--r-- 1 root root 12157347840 Jul 31 19:35 solaris11.uar
-r--r--r-- 1 root root 15874790400 Jul 31 19:54 recover_solaris11.usb
root@dong:~# rmformat
Looking for devices...
1. Logical Node: /dev/rdsk/c2t0d0s2
Physical Node: /pci@8000/pci@4/pci@0/pci@2/pci@0/usb@4,1/storage@2/disk@0,0
Connected Device: General USB Flash Disk 1100
Device Type: Removable
Bus: USB
Size: 15.5 GB
Label: <None>
Access permissions: Medium is not write protected.
root@dong:~# dd if=/backup/solaris11.usbof=/dev/rdsk/c2t0d0s2bs=16k
268084+1 records in
268084+1 records out
root@dong:~# df –h
Filesystem Size Used Available Capacity Mounted on
/dev/dsk/c2t0d0s2:1 15G 5.7G 9.5G 38% /media/NO NAME
Usb 부팅용 메모리에 copy
71
4. ZFS(Zettabyte File System)
• OS 복구용 & 복제용 archive 솔루션 - unified archive – physical
{0} ok probe-usb-all
{0} ok boot /pci@8000/pci@4/pci@0/pci@2/pci@0/usb@4,1/storage@2/disk - install
Boot device: /pci@8000/pci@4/pci@0/pci@2/pci@0/usb@4,1/storage@2/disk File and args: - install
SunOS Release 5.11 Version 11.2 64-bit
Configuring devices.
Hostname: solaris
Using the default install manifest for installation
solaris console login:
Automated Installation started
The progress of the Automated Installation will be output to the console
11:41:46 Install Log: /system/volatile/install_log
11:41:46 0% Preparing for Installation
11:41:46 1% Preparing for Installation
생략 ------------------------------
11:44:45 100% create-snapshot completed.
11:44:45 100% None
11:44:45 Automated Installation succeeded.
Automated Installation finished successfully
The system can be rebooted now
Please refer to the /system/volatile/install_log file for details
After reboot it will be located at /var/log/install/install_log
solaris console login: root
Password: 11:44:43 98% transfer-ai-files completed.
11:44:44 98% cleanup-archive-install completed.
11:44:45 100% create-snapshot completed.
11:44:45 100% None
11:44:45 Automated Installation succeeded.
11:44:45 You may wish to reboot the system at this time.
Automated Installation finished successfully
The system can be rebooted now
solaris console login: root
Password: ->passworkd는 solaris 입력
Usb 메모리로 설치
설치방법은 동일…
72
4. ZFS(Zettabyte File System)
• OS 복구용 & 복제용 archive 솔루션 - unified archive – 복구모드
root@dong:~# archiveadmcreate-D rpool/backup-D rpool/repo -r /backup/solaris11.uar--exclude-media
root@dong:~# archiveadmcreate-media-s /repoSolaris11/-f usb/backup/solaris11.uar -o /backup/recover_solaris11.usb
--설치후
root@dong:~# pwd
/root
root@dong:~# more /etc/hosts
::1 localhost
127.0.0.1 localhost
192.168.128.101 dong dong. loghost
root@dong:~# beadm list
BE Flags Mountpoint Space Policy Created
-- ----- ---------- ----- ------ -------
SRU12 - - 14.60G static2015-08-0117:00
SRU12-recovery NR / 233.37Mstatic2015-08-0117:05
solaris - - 10.45M static 2015-08-0117:06
solaris-u1_orig - - 60.0K static2015-08-0117:05
복구모드는 archiveadm시
–r 옵션만 추가해주면 된다.
Unified archive 복구모드
• 복구모드는 생성시 –r 옵션만 추가해 주면 된다.
• 이전페이지의 설명대로 복구모드는 있는그대로 시스템의 전반적인 인스턴스를 모두 아카이브하기때문에 설치후에도 동일하게 적용된다.
기타 설정 관련
기타 설정관련
74
Hostname변경
• Solaris11에서는 hostname이라는 명령어로 바로 현재에서는 바로 바꿀수가 있지만 재부팅후에도 적용하기 위해서는 SMF속성을 변경해주어야 한다.
root@Donghwa:~# svccfg -s system/identity:node listprop config
config application
config/enable_mapping boolean true
config/ignore_dhcp_hostname boolean false
config/nodename astring Donghwa
config/loopback astring Donghwa
root@Donghwa:~# svccfg -s system/identity:node setprop config/nodename=dong
root@Donghwa:~# svccfg -s system/identity:node setprop config/loopback=dong
root@Donghwa:~# svccfg -s system/identity:node refresh
root@Donghwa:~# svcadmrestartsystem/identity:node
root@Donghwa:~# svccfg -s system/identity:node listprop config
config application
config/enable_mapping boolean true
config/ignore_dhcp_hostname boolean false
config/nodename astring dong
config/loopback astring dong
root@Donghwa:~# hostname
dong
Hostname변경
Donghwa를 dong으로 변경
6. 기타설정관련
• Solaris11 hostname 변경
75
TCP파라미터
• Solaris11서버를 web이나 WAS서버로 사용할 경우 해당 TCP관련 파라미터의 바뀐부분을 나열한다.
• 기존의 ndd명령어로 수정하고 /etc/rc2.d에 스크립트를 작성하여 했던 부분이 바뀐 tcp매개변수 이름을 사용하여 ipadm 명령어로 수정이 가능하다.
6. 기타설정관련
• Solaris11 TCP 파라미터 변경
이전 TCP 매개변수 이름 TCP 등록 정보 이름
tcp_deferred_ack_interval _deferred_ack_interval
tcp_local_dack_interval _local_dack_interval
tcp_deferred_acks_max _deferred_acks_max
tcp_local_dacks_max _local_dacks_max
tcp_wscale_always _wscale_always
tcp_tstamp_always _tstamp_always
tcp_xmit_hiwat send_buf
tcp_recv_hiwat recv_buf
tcp_max_buf max_buf
tcp_cwnd_max _cwnd_max
tcp_slow_start_initial _slow_start_initial
tcp_slow_start_after_idle _slow_start_after_idle
tcp_sack_permitted sack
tcp_rev_src_routes _rev_src_routes
tcp_time_wait_interval _time_wait_interval
tcp_ecn_permitted ecn
tcp_conn_req_max_q _conn_req_max_q
tcp_conn_req_max_q0 _conn_req_max_q0
tcp_conn_req_min _conn_req_min
tcp_rst_sent_rate_enabled _rst_sent_rate_enabled
tcp_rst_sent_rate _rst_sent_rate
tcp_keepalive_interval _keepalive_interval
tcp_ip_abort_interval _ip_abort_interval
tcp_rexmit_interval_initial _rexmit_interval_initial
tcp_rexmit_interval_max _rexmit_interval_max
tcp_rexmit_interval_min _rexmit_interval_min
tcp_rexmit_interval_extra _rexmit_interval_extra
tcp_tstamp_if_wscale _tstamp_if_wscale
tcp_recv_hiwat_minmss _recv_hiwat_minmss
<표-1> 이전에 사용하던 TCP 매개병수와 Solaris11에서 사용하는 매개변수 map
76
TCP파라미터
• Solaris11서버를 web이나 WAS서버로 사용할 경우 해당 TCP관련 파라미터의 바뀐부분을 나열한다.
• 기존의 ndd명령어로 수정하고 /etc/rc2.d에 스크립트를 작성하여 했던 부분이 바뀐 tcp매개변수 이름을 사용하여 ipadm 명령어로 수정이 가능하다.
6. 기타설정관련
• Solaris11 TCP 파라미터 변경
root@Donghwa:~# ipadm show-prop -p _time_wait_intervaltcp
PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE
tcp _time_wait_interval rw 60000 -- 60000 1000-600000
root@Donghwa:~# ipadm set-prop-p _time_wait_interval=40000tcp
root@Donghwa:~# ipadm show-prop -p _time_wait_intervaltcp
PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE
tcp _time_wait_interval rw 40000 40000 60000 1000-600000
TCP파라미터 변경
77
Dns클라이언트 설정
• Solaris11에서는 /etc/resolv.conf를 사용하지 않고 SMF속성을 변경하여 DNS클라이언트를 구성하는 방법과
기존방식을 사요하되 import하여 사용하는 방법인 있다..
6. 기타설정관련
• Solaris11 DNS client설정
# svccfg-s dns/client
setprop config/nameserver=(168.126.63.1)
setprop config/search=("isve.oracle.com""oracle.com")
# svcadmenabledns/client
# svcadmrestartdns/client
# svccfg-s name-service/switch
setprop config/default=files
setprop config/host=files dns"
setprop config/ipnode=astring="files dns“
# svcadmrefreshname-service/switch
# svcadmrestartname-service/switch
DNS Client구성
DNS Client
vi /etc/nsswitch.conf
vi /etc/resolv.conf -> nameserver추가
# nscfg import -f name-service/switch:default
# nscfg import -f dns/client:default
resolv.conf 사용방법
78
Solaris11 FTP설정
• Solaris11에서는 proftp를 사용하며 root해제및 사용법은 아래와 같다.
6. 기타설정관련
• Solaris11 ftp설정
# vi /etc/proftpd.conf
Rootlogiun no  Rootloginyes로변경
# vi /etc/ftpd/ftpusers
Root -> 주석처리
# svcadmenableftp
# svcadmrestartftp
DNS Client구성
 SMF ftp mainterance mode해제
Ftp사용 Port등 아무 이상이 없는데 SMF에서 ftp서비스가 mainterance에 빠져 서비스가 안되는 경우
/etc/hosts파일에 현재 설정된 IP와 hostname이 맵핑이 안되어 있을때 나타날수 있다.
이때 /etc/hosts파일을 맞게 설정후 # svcadm clear ftp 를 하면 정상적으로 enable이 될것이다.
79
Solaris11 User
• Soalris11 부터 useradd로 사용자 추가시 zfs dataset생성
• 생성하는 곳의 단순 디렉토리가 아닌 dataset = filesystem
• Solaris11 사용시 미리 고객에게 설명후 백업정책 추가 필요 -> 파이시스템 단위로 백업을 받는 백업솔루션에 정책 추가
6. 기타설정관련
• Solaris11 User management
root@dong1:~#useradd -m -d /export/home/dong-s /bin/bashdong
80 blocks
root@dong1:~#zfslist| grep export
rpool/export 139K 2.71G 32K /export
rpool/export/home 89K 2.71G 34K /export/home
rpool/export/home/dong 35K 2.71G 35K /export/home/dong
root@dong1:~#df -h | grep export
rpool/export 9.5G 32K 2.7G 1% /export
rpool/export/home 9.5G 34K 2.7G 1% /export/home
rpool/export/home/dong 9.5G 35K 2.7G 1% /export/home/dong
User create시
편법
위방식을 사용하지 않기 위해서는 mkdir로 먼저 홈디렉토리를 만들어 놓을 수도 있다..
80
Solaris11 User
6. 기타설정관련
• Solaris11 User management
root:x:0:0:Super-User:/root:/usr/bin/bash
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:LinePrinterAdmin:/:
uucp:x:5:5:uucpAdmin:/usr/lib/uucp:
nuucp:x:9:9:uucpAdmin:/var/spool/uucppublic:/usr/lib/uucp/uucico
dladm:x:15:65:DatalinkAdmin:/:
netadm:x:16:65:NetworkAdmin:/:
netcfg:x:17:65:NetworkConfigurationAdmin:/:
smmsp:x:25:25:SendMailMessageSubmissionProgram:/:
gdm:x:50:50:GDMReservedUID:/var/lib/gdm:
zfssnap:x:51:12:ZFSAutomaticSnapshotsReservedUID:/:/usr/bin/pfsh
upnp:x:52:52:UPnPServerReservedUID:/var/coherence:/bin/ksh
xvm:x:60:60:xVMUser:/:
mysql:x:70:70:MySQLReservedUID:/:
openldap:x:75:75:OpenLDAPUser:/:
webservd:x:80:80:WebServerReservedUID:/:
postgres:x:90:90:PostgreSQLReservedUID:/:/usr/bin/pfksh
svctag:x:95:12:ServiceTagUID:/:
unknown:x:96:96:UnknownRemoteUID:/:
nobody:x:60001:60001:NFSAnonymousAccessUser:/:
noaccess:x:60002:60002:NoAccessUser:/:
nobody4:x:65534:65534:SunOS4.xNFSAnonymousAccessUser:/:
ikeuser:x:67:12:IKEAdmin:/:
aiuser:x:61:61:AIUser:/:
ftp:x:21:21:FTPDReservedUID:/:
dhcpserv:x:18:65:DHCPConfigurationAdmin:/:
pkg5srv:x:97:97:pkg(5)serverUID:/:
/etc/passwd
• Soalris11에서 기본으로 있는 사용자와 그에 대한 설명이다. 필수로 있어야 할 User들이지만 표시가 없는 user들도 SRU업그레이드 시에는 모두 있어야 한다.
81
Solaris11 User List(기본)
6. 기타설정관련
• Solaris11 User management
사용자 이름 사용자ID 설명 패키지
root 0 수퍼 유저 계정용으로 예약 system/core-os
daemon 1 루틴 시스템 작업과 연관된 우산형 시스템 데몬 system/core-os
bin 2 루틴 시스템 작업을 수행하기 위해 실행 중인 시스템 바이너리와 연관된 관리 데몬 system/core-os
sys 3 시스템 로깅 또는 임시 디렉토리의 파일 업데이트와 연관된 관리 데몬 system/core-os
adm 4 시스템 로깅과 연관된 관리 데몬 system/core-os
lp 71 라인 프린터 데몬용으로 예약 system/core-os
uucp 5 uucp 함수와 연관된 데몬에 지정 system/core-os
nuucp 9 uucp 함수와 연관된 또 다른 데몬에 지정 system/core-os
dladm 15 데이터 링크 관리용으로 예약 system/core-os
netadm 16 네트워크 관리용으로 예약 system/core-os
netcfg 17 네트워크 구성 관리용으로 예약 system/core-os
smmsp 25 Sendmail 메시지 제출 프로그램 데몬에 지정 system/core-os
gdm 50 GNOME Display Manager 데몬에 지정 system/core-os
zfssnap 51 자동 스냅샷용으로 예약 system/core-os
upnp 52 UPnP 서버용으로 예약 system/core-os
xvm 60 xVM 사용자용으로 예약 system/core-os
mysql 70 MySQL 사용자용으로 예약 system/core-os
openldap 75 OpenLDAP 사용자용으로 예약 library/ldap
webservd 80 WebServer 액세스용으로 예약 system/core-os
postgres 90 PostgresSQL 액세스용으로 예약 system/core-os
svctag 95 서비스 태그 레지스트리 액세스용으로 예약 system/core-os
unknown 96 NFSv4 ACL의 매핑할 수 없는 원격 사용자용으로 예약 system/core-os
nobody 60001 NFS 익명 액세스 사용자용으로 예약 system/core-os
noaccess 60002 액세스 권한 없음 사용자용으로 예약 system/core-os
nobody4 65534 SunOS 4.x NFS 익명 액세스 사용자용으로 예약 system/core-os
ikeuser 67 IKE(Internet Key Exchange) 액세스용으로 예약 system/network/ike
ftp 21 FTP 액세스용으로 예약 service/network/ftp
dhcpserv 18 DHCP 서버 사용자용으로 예약 service/network/dhcp/isc-dhcp
aiuser 60003 AI 사용자용으로 예약 system/install/autoinstall/
pkg5srv 97 pkg(5) 저장소 서버용으로 예약
auto-install-common package/p
kg
82
Solaris11 언어
• Solaris11.2부터는 설치시 기본언어를 지정할수가 있으며 UTF-8이 기본이다.
• 기본언어를 변경하려면 우선 EUC관련 pkg를 설치를 하고, 언어를 바꾸어 주어야 한다.
• 언어 패키지는 설치하되, 수정하는 방법은 solairs10까지는 /etc/default/init에서 LANG변수를 바꾸어 주었지만 Solaris11에서는 /etc/default/init파일이 read-only이다.
• 만약 수동으로 수정을 하더라도 rebooting하게되면 원래 설정으로 돌아 오게 된다. – SMF에서 관리 되기때문…
• 기본언어 변경시에는 svccfg로 SMF에서 바꾸어 주어야 한다.
6. 기타설정관련
• System Language Change
root@dong1:~# pkg install pkg:/system/locale/extra언어 Pack 설치
root@solaris:~# svccfg-s svc:/system/environment:init listprop environment/LANG
environment/LANG astring ko_KR.UTF-8
root@solaris:~# svccfg-s svc:/system/environment:init setprop environment/LANG= astring: C
root@solaris:~# svccfg-s svc:/system/environment:init listprop environment/LANG
environment/LANG astring C
root@solaris:~# svcadm refreshsvc:/system/environment:init
기본언어 변경
(kd(UTF-8에서 C로 변경)
83
Solaris11 GUI
• Solaris11을 text로 설치하면 solaris-large-server로 설치가되며 기본적으로 GUI화면을 제공하지 않는다.
• 보통 GUI를 사용할 일이 없지만 Oracle 설치시에는 Installer와 dbca 는 그래픽으로 진행하게 되어 GUI를 사용할수있게 해주어야 한다
• ssh를 사용한 X-optuon(x11) XMING을 이용한 방법이 있지만 현재 저 포함 엔지니어들이 Xmanager를 가장 많이 사용하므로 간단한 방법으로.
GUI모드를 자주 사용하거나 고객이 사용하는 xmanager 라이센스가 없으면 정식으로 solaris-gui-toi solaris-desktop을 설치하시기 바랍니다.
6. 기타설정관련
• DB설치시 X-window띄우는 법
root@dong1:~# pkg install --require-new-be--be-name solaris-gui solaris-desktop필요시에 GUI Desktop설치시
X-manager - passive
테스트를 위해 xclock설치 root@dong1:~# pkg install xclock
변수 설정후 테스트
root@dong1:~# su – oracle
[oracle@/oracle]$ who am i
root pts/1 Mar 24 07:19 (192.168.56.1)
[oracle@/oracle]$ exportDISPLAY=192.168.56.1:0.0
[oracle@/oracle]$ exportAWT_TOOLKIT=XToolkit
[oracle@/oracle]$ xclock
Xclock나오는 것 확인 후 DB runInstaller 시작

More Related Content

What's hot

EDB Postgres DBA Best Practices
EDB Postgres DBA Best PracticesEDB Postgres DBA Best Practices
EDB Postgres DBA Best PracticesEDB
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxNeoClova
 
Your first ClickHouse data warehouse
Your first ClickHouse data warehouseYour first ClickHouse data warehouse
Your first ClickHouse data warehouseAltinity Ltd
 
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...Amazon Web Services
 
Zero to Snowflake Presentation
Zero to Snowflake Presentation Zero to Snowflake Presentation
Zero to Snowflake Presentation Brett VanderPlaats
 
Data Source API in Spark
Data Source API in SparkData Source API in Spark
Data Source API in SparkDatabricks
 
Time-Series Apache HBase
Time-Series Apache HBaseTime-Series Apache HBase
Time-Series Apache HBaseHBaseCon
 
Azure Data Factory v2
Azure Data Factory v2Azure Data Factory v2
Azure Data Factory v2inovex GmbH
 
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroThe Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroDatabricks
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetJeno Yamma
 
Architecture of Big Data Solutions
Architecture of Big Data SolutionsArchitecture of Big Data Solutions
Architecture of Big Data SolutionsGuido Schmutz
 
Technical Deck Delta Live Tables.pdf
Technical Deck Delta Live Tables.pdfTechnical Deck Delta Live Tables.pdf
Technical Deck Delta Live Tables.pdfIlham31574
 
RocksDB detail
RocksDB detailRocksDB detail
RocksDB detailMIJIN AN
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19cMaria Colgan
 
SAP Datasphere, SAP BW Bridge - Ein Überblick
SAP Datasphere, SAP BW Bridge - Ein ÜberblickSAP Datasphere, SAP BW Bridge - Ein Überblick
SAP Datasphere, SAP BW Bridge - Ein ÜberblickIBsolution GmbH
 
Architecture for building scalable and highly available Postgres Cluster
Architecture for building scalable and highly available Postgres ClusterArchitecture for building scalable and highly available Postgres Cluster
Architecture for building scalable and highly available Postgres ClusterAshnikbiz
 

What's hot (20)

A35 SQL Server と NUMA by 熊澤幸生
A35 SQL Server と NUMA by 熊澤幸生A35 SQL Server と NUMA by 熊澤幸生
A35 SQL Server と NUMA by 熊澤幸生
 
EDB Postgres DBA Best Practices
EDB Postgres DBA Best PracticesEDB Postgres DBA Best Practices
EDB Postgres DBA Best Practices
 
Zookeeper 소개
Zookeeper 소개Zookeeper 소개
Zookeeper 소개
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
 
Your first ClickHouse data warehouse
Your first ClickHouse data warehouseYour first ClickHouse data warehouse
Your first ClickHouse data warehouse
 
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
 
Snowflake Datawarehouse Architecturing
Snowflake Datawarehouse ArchitecturingSnowflake Datawarehouse Architecturing
Snowflake Datawarehouse Architecturing
 
Zero to Snowflake Presentation
Zero to Snowflake Presentation Zero to Snowflake Presentation
Zero to Snowflake Presentation
 
ClickHouse Intro
ClickHouse IntroClickHouse Intro
ClickHouse Intro
 
Data Source API in Spark
Data Source API in SparkData Source API in Spark
Data Source API in Spark
 
Time-Series Apache HBase
Time-Series Apache HBaseTime-Series Apache HBase
Time-Series Apache HBase
 
Azure Data Factory v2
Azure Data Factory v2Azure Data Factory v2
Azure Data Factory v2
 
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroThe Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat Sheet
 
Architecture of Big Data Solutions
Architecture of Big Data SolutionsArchitecture of Big Data Solutions
Architecture of Big Data Solutions
 
Technical Deck Delta Live Tables.pdf
Technical Deck Delta Live Tables.pdfTechnical Deck Delta Live Tables.pdf
Technical Deck Delta Live Tables.pdf
 
RocksDB detail
RocksDB detailRocksDB detail
RocksDB detail
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19c
 
SAP Datasphere, SAP BW Bridge - Ein Überblick
SAP Datasphere, SAP BW Bridge - Ein ÜberblickSAP Datasphere, SAP BW Bridge - Ein Überblick
SAP Datasphere, SAP BW Bridge - Ein Überblick
 
Architecture for building scalable and highly available Postgres Cluster
Architecture for building scalable and highly available Postgres ClusterArchitecture for building scalable and highly available Postgres Cluster
Architecture for building scalable and highly available Postgres Cluster
 

Viewers also liked

La Filosofia y Metodos
La Filosofia y MetodosLa Filosofia y Metodos
La Filosofia y Metodoshildilenis
 
Advert comparison
Advert comparisonAdvert comparison
Advert comparisonadamediaed
 
Escuela normal particular autorizada instituto atenas de orizaba
Escuela normal particular autorizada instituto atenas de orizabaEscuela normal particular autorizada instituto atenas de orizaba
Escuela normal particular autorizada instituto atenas de orizabalizzeth Rodriguez
 
Bull City Fit Presentation
Bull City Fit PresentationBull City Fit Presentation
Bull City Fit PresentationAllison Walters
 
Proposed advert
Proposed advertProposed advert
Proposed advertadamediaed
 
ข้อดีและข้อเสียของเว็บ
ข้อดีและข้อเสียของเว็บข้อดีและข้อเสียของเว็บ
ข้อดีและข้อเสียของเว็บLion_PK
 
Extraordinario etapa 2 1
Extraordinario etapa 2 1Extraordinario etapa 2 1
Extraordinario etapa 2 1Majo Ramos
 

Viewers also liked (9)

La Filosofia y Metodos
La Filosofia y MetodosLa Filosofia y Metodos
La Filosofia y Metodos
 
Advert comparison
Advert comparisonAdvert comparison
Advert comparison
 
aaaa
aaaaaaaa
aaaa
 
Redes medios de transmisión
Redes medios de transmisiónRedes medios de transmisión
Redes medios de transmisión
 
Escuela normal particular autorizada instituto atenas de orizaba
Escuela normal particular autorizada instituto atenas de orizabaEscuela normal particular autorizada instituto atenas de orizaba
Escuela normal particular autorizada instituto atenas de orizaba
 
Bull City Fit Presentation
Bull City Fit PresentationBull City Fit Presentation
Bull City Fit Presentation
 
Proposed advert
Proposed advertProposed advert
Proposed advert
 
ข้อดีและข้อเสียของเว็บ
ข้อดีและข้อเสียของเว็บข้อดีและข้อเสียของเว็บ
ข้อดีและข้อเสียของเว็บ
 
Extraordinario etapa 2 1
Extraordinario etapa 2 1Extraordinario etapa 2 1
Extraordinario etapa 2 1
 

Similar to Solaris11 기초 자료

Solaris 11 network virtualization & Server Virtualization for cloud
Solaris 11 network virtualization & Server Virtualization for cloudSolaris 11 network virtualization & Server Virtualization for cloud
Solaris 11 network virtualization & Server Virtualization for cloudsuk kim
 
ACL - cisco 2811 router
ACL - cisco 2811 router ACL - cisco 2811 router
ACL - cisco 2811 router 준기 홍
 
DPDK (Data Plane Development Kit)
DPDK (Data Plane Development Kit) DPDK (Data Plane Development Kit)
DPDK (Data Plane Development Kit) ymtech
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Nalee Jang
 
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Nalee Jang
 
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법JC Park
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-uploadDong-Hwa jung
 
Enterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configurationEnterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configurationsuk kim
 
20141229 dklee docker
20141229 dklee docker20141229 dklee docker
20141229 dklee dockerDK Lee
 
IPv6 이론과 소켓 프로그래밍
IPv6 이론과 소켓 프로그래밍IPv6 이론과 소켓 프로그래밍
IPv6 이론과 소켓 프로그래밍OnGameServer
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine LearningJEEHYUN PAIK
 
오픈소스 모니터링 알아보기(Learn about opensource monitoring)
오픈소스 모니터링 알아보기(Learn about opensource monitoring)오픈소스 모니터링 알아보기(Learn about opensource monitoring)
오픈소스 모니터링 알아보기(Learn about opensource monitoring)SeungYong Baek
 
Opendaylight beryllium
Opendaylight berylliumOpendaylight beryllium
Opendaylight berylliumCheolmin Lee
 
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지Kyunghee Univ
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0Ji-Woong Choi
 
Mininet
MininetMininet
Mininetymtech
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solutionOpenStack Korea Community
 
Network virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center NetworkNetwork virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center NetworkInho Kang
 

Similar to Solaris11 기초 자료 (20)

Solaris 11 network virtualization & Server Virtualization for cloud
Solaris 11 network virtualization & Server Virtualization for cloudSolaris 11 network virtualization & Server Virtualization for cloud
Solaris 11 network virtualization & Server Virtualization for cloud
 
ACL - cisco 2811 router
ACL - cisco 2811 router ACL - cisco 2811 router
ACL - cisco 2811 router
 
DPDK (Data Plane Development Kit)
DPDK (Data Plane Development Kit) DPDK (Data Plane Development Kit)
DPDK (Data Plane Development Kit)
 
DPDK
DPDKDPDK
DPDK
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
 
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
 
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
Linux에서 Secondary VNIC와 Secondary Private IP 추가 방법
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-upload
 
Enterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configurationEnterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configuration
 
Lam pstack
Lam pstackLam pstack
Lam pstack
 
20141229 dklee docker
20141229 dklee docker20141229 dklee docker
20141229 dklee docker
 
IPv6 이론과 소켓 프로그래밍
IPv6 이론과 소켓 프로그래밍IPv6 이론과 소켓 프로그래밍
IPv6 이론과 소켓 프로그래밍
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 
오픈소스 모니터링 알아보기(Learn about opensource monitoring)
오픈소스 모니터링 알아보기(Learn about opensource monitoring)오픈소스 모니터링 알아보기(Learn about opensource monitoring)
오픈소스 모니터링 알아보기(Learn about opensource monitoring)
 
Opendaylight beryllium
Opendaylight berylliumOpendaylight beryllium
Opendaylight beryllium
 
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
 
Mininet
MininetMininet
Mininet
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
 
Network virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center NetworkNetwork virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center Network
 

Solaris11 기초 자료

  • 1. Solaris11 Basic ㈜온고테크 / 기술지원2팀 정동화 / dhjung@ongo.co.kr
  • 2. 2 Contents 3. BE - 부트 환경 관리 4. ZFS(Zettabyte File System) 1. Solaris11 Networking 2. Package 설치 & 관리 3 14 30 39 6. 기타 설정 관련73 5.1 Hostname변경 5.2 TCP 파라미터 변경 5.3 DNS client 설정 5.4 ftp설정 5.5 User Management 5.6 System Language Change 5.7 DB설치시 X-window띄우는 법 63 5. Unified Archive
  • 4. 1. Solaris11 Networking • Solaris10 네트워킹 Solaris10 네트웍킹 • 여러가지 관리 명령어 • Ifconfig –a -> 인터페이스 계층(IP인터페이스 구성) • dladm show-link -> Data Link계층의 링크 정보 • dladm show-phys -> 설치된 하드웨어 장치 • 장치와 데이터 링크 및 인터페이스를 바인드하는 일대일 관계가 존재한다. 이 관계는 네트워크 구성이 하드웨어 구성과 네트워크 토폴로지에 의존한다는 것을 의미한다. NIC를 교체하거나 네트워크 토폴로지를 바꾸는 등 하드웨어 계층에서 변경 사항이 구현된 경우 인터페이스를 재구성해야 한다. 4 <그림> Solaris10 에서의 Network
  • 5. 1. Solaris11 Networking • Solaris11 Networking Solaris11 네트웍 구현 • 여러가지 관리 명령어 • ipadm show-if -> 인터페이스 계층(IP인터페이스 구성) - create ip 된 인터페이스를 나열한다.(plumb의미) • dladm show-link -> Data Link계층의 링크 정보 • dladm show-phys -> 설치된 하드웨어 장치 • 네트워크 구성은 하드웨어 계층에서 발생 가능한 변경 사항으로부터 분리된다. 링크와 인터페이스 구성은 기본 하드웨어를 제거하더라도 유지된다. 두 NIC가 서로 같은 유형이면 이러한 동일한 구성을 교체 NIC에 다시 적용할 수 있다. • 네트워크 구성을 네트워크 하드웨어 구성으로부터 분리함으로써 데이터 링크 계층에서 사용자 정의된 링크 이름을 사용할 수 있다 하드웨어 장치 인스턴스 Link name IP interface e1000g e1000g0 net0 net0 qfe qfe1 net1 net1 5 net0과 net1을 group하여 itops0가 생성 – IPMP group <그림> Solaris11 에서의 Network
  • 6. Solaris11 Networking • Solaris11 network Instance name Interface 이름 • Datalinkk의 이름(net)을 변경할수는 있지만 권고하지 않는다. • 이름은 이상적으로 3~8자로 구성되며, 최대 16자까지 지정할 수 있다. • 유효한 이름 문자는 영숫자(a–z, 0–9) 및 밑줄(_)을 사용한다. • 대문자 사용불가 • 링크 이름이 유일해야 함. • lo0 interface 변경불가 - loopback # dladmshow-phys –L - NIC가있는 물리적위치까지표기 LINK DEVICE LOCATION net0 e1000g0 MB net1 e1000g1 MB net2 e1000g2 MB net3 e1000g3 MB net4 ibp0 MB/RISER0/PCIE0/PORT1 net5 ibp1 MB/RISER0/PCIE0/PORT2 net6 eoib2 MB/RISER0/PCIE0/PORT1/cloud-nm2gw-2/1A-ETH-2 net7 eoib4 MB/RISER0/PCIE0/PORT2/cloud-nm2gw-2/1A-ETH-2 일반 이름을 포함하는 데이터 링크와 해당 장치 인스턴스 간의 매핑을 표시 # dladmrename-linknet0dong0이름변경 6
  • 7. 1. Solaris11 Networking • Network 구성 자동모드 • Oracle Solaris 11에서 네트워크 구성은 NCP(네트워크 구성 프로파일)로 관리됩니다. 특정 시스템에서 작동하는 NCP 유형에 따라 시스템의 네트워크 구성이 결정된다. NCP가 자동(Automatic)인 경우 해당 시스템의 네트워크 구성이 동적으로 구성된다. NCP가 고정된 경우 네트워크 구성이 정적으로 구현된다. • 자동(Automatic) 네트워크 구성(자동모드)에서는 수동으로 다시 구성할 필요 없이 시스템이 네트워크 조건 변경 및 네트워크 구성에 맞게 자동으로 조정됩니다. (가상인터페이스를 자동으로 관리) 예를 들어 유선 네트워크 인터페이스가 분리되거나 새 무선 네트워크가 사용 가능해지면 시스템이 이에 따라 조정된다. • 서버 환경에서는 사용하는 일이 없으므로 설정방법만 익히도록 한다. • Solaris11을 설치시 Auto로 설치하게되어 네트웍 정보를 넣지 않으면 자동으로 Automatic으로 설정되어 진다. 7 # netadmenable –p ncp Automatic자동모드 고정모드 • 고정된 네트워크 구성은 특정 네트워크 설정이 시스템에서 인스턴스화되는 구성 모드를 나타낸다. 자동 네트워크 구성 모드와 달리, 고정 구성 모드에서 인스턴스화된 구성은 시스템의 네트워크 환경에 관계없이 우리가 구성한 환경으로 유지됩니다. 해당 환경에서 인터페이스 추가 등의 변경 사항이 발생할 경우, 시스템이 새 환경에 맞게 적용되도록 시스템의 네트워크 설정을 수동(idladm,ipadm등)으로 재구성해야 합니다 • Default로 돼어 있으며, 서버환경에서 고정모드를 사용하도록 한다. # netadmenable -pncpDefaultFixed고정모드 # netadmlist확인
  • 8. 1. Solaris11 Networking • Network 구성 - dladm dladm 기본구성 • dladm 명령을 사용하여 DataLink단 구성을 지원한다.. Sub Command나 옵션없이 사용시에는 일반 정보 표시 8 root@Sol11-IPS:~# dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- net1 phys 1500 unknown -- 링크상태확인 root@Sol11-IPS:~# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 1000 full e1000g0 net1 Ethernet unknown 0 unknown e1000g1 물리적 상태&속성 표시 (-L 사용시 위치도 확인) root@Donghwa:~# dladm create-aggr -l net1 -l net2 1 - 추가 root@Donghwa:~# dladmadd-aggr -l net3 1 root@Donghwa:~# dladm show-aggr –L LINK PORT AGGREGATABLE SYNC COLL DIST DEFAULTED EXPIRED aggr1 net1 yes no no no no no -- net2 yes no no no no no -- net3 yes no no no no no aggr 만즐기 Net1과 net2를 trunk create – 만들기 add- NIC 추가 remove – nic삭제 delete – aggr삭제
  • 9. 1. Solaris11 Networking • Network 구성 - dladm 등록정보 변경 • 기본 DataLink 구성을 수행하는 것은 물론 Datalink 등록 정보를 설정하고 네트워크 요구 사항에 따라 사용자 정의할 수도 있다. - (ndd 사용안함,(network speed), Jumpo Frame등등 • dladm set-linkprop -p property =value datalink는 데이터 링크의 등록 정보에 값을 지정합니다. • dladm reset-linkprop -p property datalink는 특정 등록 정보를 해당 기본값으로 재설정합니다 • 해당장에서는 가장 많이 사용하는 Auto-negociation에 대해 설명한다. 9 root@Donghwa:~# dladmshow-ether-x net1 LINK PTYPE STATE AUTO SPEED-DUPLEX PAUSE net1 current up yes 1G-f bi -- capable -- yes 1G-fh,100M-fh,10M-fh bi -- adv -- yes 1G-f,100M-fh,10M-fh bi -- peeradv -- yes 1G-fh,100M-fh,10M-fh none root@Donghwa:~# dladmset-linkprop-p adv_autoneg_cap=0net1 <-net1번을auto로변경 root@Donghwa:~# dladmshow-ether-x net1 LINK PTYPE STATE AUTO SPEED-DUPLEX PAUSE net1 current up no 1G-f bi -- capable -- yes 1G-fh,100M-fh,10M-fh bi -- adv - - no 1G-f,100M-fh,10M-로 bi -- peeradv -- no 1G-fh,100M-fh,10M-fh none root@Donghwa:~# dladmshow-linkpropnet1|grep-i adv --- 결과값 생략 --- Link Speed Auto로 변경
  • 10. 1. Solaris11 Networking • Network 구성 - ipadm Network 구성 • IP Interface를 구성한다. – 아래와 같이 영구 적용이 된다. – Solaris10이전버젼처럼 /etc/및의 구성파일 없음. - dladm의 후행 작업이며, 삭제와 같은 작업은 역순이다. - EX) dladm으로 link이름을 변경시에는 ipadm delete-ip가 먼저 실행되어야 한다. • 기본적인 네트웍을 구성한다.(지정 Interface에 IP Address, Subnet,) – 명령어 기반이며, 영구적용된다. 10 root@Donghwa:~# ipadm create-ip net3 -> nett3 plumb개념 root@Donghwa:~# ipadm create-addr -T static -a 192.168.56.70/24 net3/v4 - net3에 192.168.56.70, Subnet(C Class)할당. root@Donghwa:~# route-p add default 192.168.56.1 -ifp net0 - Route 명령어에 –p옵션(영구적용) 으로 default route 추가 # ifconfig –a -> network확인 # netstat –rn -> default router 확인(현재의 라우팅테이블확인) 기본적인 네트웍 구성  route 명령어에 “-p” 옵션으로 영구적용할수가 있다. 솔라리스10에서도 가능한 이 옵션은 기본적인 defaultrouter구성은 물론 서버의 네트웍 연동(route Table에추가)시에도 사용할수 있으며 아래 형식으로 영구적용된 route명령어를 확인 가능하다. # route –p show
  • 11. 1. Solaris11 Networking • Network 구성 - ipadm ipadm 명령어 • IP Interface를 속성값을 변경한다.. • ipadm show-addrprop [-p property] [addrobj] 하위 명령은 사용되는 옵션에 따라 주소 등록 정보를 표시한다. • ipadm set-addrprop -p property =value addrobj 하위 명령은 주소 등록 정보에 값을 지정합니다. 한 번에 하나만 설정할 수 있다. • ipadm reset-addrprop -p property addrobj 하위 명령은 주소 등록 정보에 대한 모든 기본값을 복원한다. 11 root@Donghwa:~# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net3/v4 static ok 192.168.56.70/24 root@Donghwa:~# ipadm show-addrprop -p prefixlen net3/v4 ADDROBJ PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE net3/v4 prefixlen rw 24 24 24 1-30,32 root@Donghwa:~# ipadm set-addrprop -p prefixlen=16 net3/v4 root@Donghwa:~# ipadm show-addrprop -p prefixlen net3/v4 ADDROBJ PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE net3/v4 prefixlen rw 16 16 24 1-30,32 net3의 netmask를 C Class에서 B Class로 변경
  • 12. 1. Solaris11 Networking • Network 구성 – 이중화 구성 IPMP 구성 • ipadm명령어를 사용하여 네트웍 인터페이스를 이중화한다.. • Solaris10과 달리 명령어만으로 구현을 하며, 지정된이름으로 Interface가 생성이 된다. 12 root@Donghwa:~# ipadmcreate-ip net3 root@Donghwa:~# ipadmcreate-ip net4 root@Donghwa:~# ipadmcreate-ipmp -i net3 -i net4 ipmp0 -> ipmp0라는이름으로생성 root@Donghwa:~# ipadmcreate-addr -T static -a 192.168.5.60/24 ipmp0 -> ipmp0에주소 설정 root@Donghwa:~# ipadmset-ifprop -p standby=on –m ip net3 -> net3를standby로 설정 root@Donghwa:~# ifconfig -a net3: flags=61000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,STANDBY,INACTIVE> mtu 1500 index 5 inet 0.0.0.0 netmask ff000000 groupname ipmp0 ether 0:c:29:73:1d:f net4: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 6 inet 0.0.0.0 netmask ff000000 groupname ipmp0 ether 0:c:29:73:1d:19 ipmp0: flags=8001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,IPMP> mtu 1500 index 7 inet 192.168.5.60 netmask ffffff00 broadcast 192.168.5.255 groupname ipmp0 IPMP구성 Active/Standby구성 root@Donghwa:~# ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES ipmp0 ipmp0 ok -- net4 (net3) 구성정보표시 root@Donghwa:~# ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net4 yes ipmp0 --mbM-- up disabled ok net3 no ipmp0 is----- up disabled ok 구성된 인터페이스 상태
  • 13. 1. Solaris11 Networking • Network 구성 – 이중화 구성 IPMP 유지관리 • IPMP 를 관리하는 방법에 대해 설명한다. 13 # ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES dong dong ok 10.00s net0 net1 # ipadmremove-ipmp -i net0 -i net1 dong # ipadmdelete-ipmp dong IPMP삭제(GROUP:dong) # ipadmcreate-ipnet4 # ipadmadd-ipmp-i net4 dong # ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES dong dong ok 10.00s net0 net1 net4 GROUP에 Interface추가
  • 14. Package 설치 & 관리 Solaris11 Package locale Gcc desktop
  • 15. • IPS(Image Packing System) 15 2. Solaris11 Package IPS • Solaris11 의 운영체제용 소프트웨어는 IPS 패키지로 배포가 된다. • Software Lifecycle 관리 기능을 제공하는 프레임 워크로 운영체제용 package 나열,설치,설치,업그레이드 제거 사용 • IPS 패키지는 정의된 형식의 디렉토리, 파일, 링크, 드라이버, 종속성, 그룹, 사용자 및 라이센스 정보 모음. • 이전 방식(Solaris10이하) – SVR4 패키징방식과는 다른 형식. – SUNW 사용안함. • IPS CLI 및 GUI 관리 - pkg install, pkg search, pkg info, pkg list , GUI : package manager 사용(package/pkg/package-manager ) • IPS publisher(게시자) 관리 – pkg publisher, pkg set-publisher.. • Solaris11 을 text Install로 설치하는 경우 solaris-large-server로 설치 - solaris-large-server = Solaris10의 SUNWCall(Entire Distribution Group) 해당 • 통합패키지는 패키지의 버전을 제한한다. – entire 라는 패키지가 다른 통합 패키지의 버전을 제한하는 통합패키지이다. Task IPS command SVR4 Packaging Command 패키지 설치 pkg install pkgadd 설치된 패키지 업데이트 pkg update patchadd 패키지 상태 및 버전 조회 pkg list pkginfo 설치된 패키지 검증 pkg verify pkgchk -v 패키지정보,라이센스등 보기 pkg info,pkg list -r pkginfo -l 패키지 내용보기 pkg contents pkgchk -l 패키지 검색 pkg search pkgchk -l -p <그림> packager manager(GUI) <표-1> 기존 패키지 명령어와 차이점
  • 16. • IPS(Image Packing System) 16 2. Solaris11 Package IPS 명령어 • IPS 공급자(publisher)로 부터 해당 package정보수집, 설치를 진행 한다. root@Sol11-IPS:~# pkg list java NAME (PUBLISHER) VERSION IFO runtime/java 1.6.0.71.12 i -- -> i 표시는 Install되어 있음. root@Sol11-IPS:~# pkg list xclock -> 현재 설치돼어 있지 않음 pkg list: no packages matching 'xclock' installed 설치된 package검색 root@Sol11-IPS:~# pkg install xclock root@Sol11-IPS:~# pkg list xclock NAME (PUBLISHER) VERSION IFO x11/xclock 1.0.6-0.175.1.0.0.24.1317 i-- root@Sol11-IPS:~# pkg uninstall xclock 패키지 설치 & 삭제 root@Sol11-IPS:~# pkg search /usr/bin/java INDEX ACTION VALUE PACKAGE path link usr/bin/java pkg:/runtime/java/jre-7@1.7.0.51.13 path link usr/bin/java pkg:/runtime/java/jre-6@1.6.0.71.12 root@Sol11-IPS:~# pkg search /usr/sfw/bin/gcc INDEX ACTION VALUE PACKAGE path hardlink usr/sfw/bin/gcc pkg:/developer/gcc-3@3.4.3-0.175.1.0.0.24.0 패키지 도구를 이용한 패키지 이름 검색 root@Donghwa:~# pkg list -af *jdk-6* NAME (PUBLISHER) VERSION IFO developer/java/jdk-6 1.6.0.71.12 --- ->현재설치돼어있지않음패키지이름이 developer/java/jdk-6 1.6.0.35-0.175.1.0.0.24.1 --- 같으므로상위버젼이설치된다. root@Donghwa:~# pkg installdeveloper/java/jdk-6@1.6.0.35-0.175.1.0.0.24.1->버젼지정을 해주어야 한다. 세부버젼 패키지 설치 jdk 1.6.25로 설치
  • 17. • IPS(Image Packing System) 17 2. Solaris11 Package IPS 명령어-계속 root@Sol11-IPS:~# pkg list-af *gcc* NAME (PUBLISHER) VERSION FO SUNWgcc 3.4.3-0.133 --r - -->> -r은 rename, o는 설치할수 없음. SUNWgccruntime 3.4.3-0.133 --r developer/gcc-3 3.4.3-0.175.1.0.0.24.0 i-- developer/gcc-45 4.5.2-0.175.1.0.0.24.0 --- 예전 패키지 검색 root@Sol11-IPS:~# pkg contents-Hro fmri-t depend-a type=group solaris-large-server archiver/gnu-tar compress/bzip2 compress/gzip ----------------생략----------------------- 패키지 의존성 확인 root@Sol11-IPS:~# pkg info -r system/library/gcc-45-runtime Name: system/library/gcc-45-runtime Summary: GCC - 4.5 Runtime Category: Development/C (org.opensolaris.category.2008) Development/C++ (org.opensolaris.category.2008) Development/Fortran (org.opensolaris.category.2008) State: Not installed -----생략----- 패키지 정보보기
  • 18. • IPS(Image Packing System) 18 2. Solaris11 Package IPS 명령어- java version root@dong1:~# java-version javaversion"1.7.0_72" Java version root@dong1:~# pkg mediator-a java MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION java system 1.7 system java system 1.6 system IPS내 java중계 표시 • 동일 pkg에서 다른 버전이 있을시 예를 들어 자바같은 경우 OS에서 사용하는 기본 버전을 설정할수가 있다. • Mediator라는 sub option으로 java중계를 표시한다. – 나오는 버전은 모두 /usr/bin/java에서의 simbolic link이다. • 기본은 jre이며 java compilier(javac)가 필요한 경우에는 pkg installl –accept jdk-7로 jdk를 먼저 설치해준다. • Java의 업데이트 버전(minor)까지 맞추려면 원하는 자바 update버젼을 /usr/jdk/instance Directrory에 저장한다음 set-mediator를 실행한다. root@dong1:~# pkg set-mediator-V 1.6 java Packages to change: 3 Mediators to change: 1 Create boot environment: No Create backup boot environment: Yes PHASE ITEMS 기본Java를 1.6버젼으로 변경 root@dong1:~# java-version javaversion"1.6.0_85" 바뀐 java version
  • 19. • IPS(Image Packing System) - publisher 19 2. Solaris11 Package <그림-1> IPS Network(default) <그림-2> IPS 구성요소 IPS 게시자, 저장소 • 게시자는 하나 이상의 패키지를 개인, 개인 그룹 또는 조직을 식별하는 포워드 도메인 이름. • 게시자는 클라이언트에서 패키지를 게시하고 검색할 수 있는 패키지 아카이브입니다. 여러 개의 Oracle 패키지 저장소를 사용할 수 있다 • 패키지 설치시 특정 게시자를 지정하지 않으면 첫번째 부터 마지막 게시자 까지 검색하여 FMRI가 일치하는 패키지가 있을때까지 검색하며 설치하게 된다. • 저장소는 패키지가 게시되고 검색되는 위치, 위치는 URI로 지정되며, 인터넷으로 연결되는 방식과 로컬로 구성할수도 있다. • FMRI(Fault Management Resource Identifier) - 패키지정보 , 검색돼는 패키지 이름, 버젼정보, 날짜가 포함되어 있다. Ex) FMRI, = pkg://solaris/developer/apptrace@0.5.11,5.11-0.151.0.1:20101104T230706Z pkg– 스키마 solaris– publisher developer–카테고리 apptrace– 패키지이름 0.5.11,5.11 -> component버전,빌드버전 0.151.0.1 -> branch 버젼
  • 20. • Local IPS 구성 20 2. Solaris11 Package Web 연결 구성 • 기본 IPS 서버 : http://pkg.oracle.com/solaris/release/(인터넷연결이 확립되어야 지만 가능 – 외부연결네트웍, DNS cllient설정) • 서버에 package저장소를 구성한다. • Web(Oracle package site)에서 직접 받아서 구성하는 방법이 있고, Full repo 저장소 파일을 다운받아서 서버로 Upload후 구성하는 방법이 있다. # pkgrecv -s http://pkg.oracle.com/solaris/release/ -d /export/repoSolaris11 '*‘ ----복사중 끊어졌다 다시 받을때는 아래 명령어 사용 # pkgrecv -c /var/tmp/pkgrecv-fOGaIg –s http://pkg.oracle.com/solaris/release/ -d /export/repoSolaris11 '*' Oracle Package Site에서 repo 복사 # zfs create rpool/export/repoSolaris11 # zfs set atime=off rpool/export/repoSolaris11 zfs atime 속성은 file을 읽을 때 파일의 accesstime을 업데이트할지 여부를 제어한다. 이 속성을 off로 설정하면 파일을 읽을 때 쓰기 트래픽이 발생하지 않는다 Repo를 저장할 파일 시스템 만들기
  • 21. • Local IPS 구성(solaris11.1) 21 2. Solaris11 Package 파일 복사로 구성 • OracleDownload Site에가서repofull이미지를다운받아서서버에Upload한다. # mount -F hsfs /export/repoSolaris11/sol-11_1-repo-full.iso/mnt # rsync -aP /mnt/repo/ /export/repoSolaris11 -> /mnt/repo/ 후행슬러시 반듯이 포함(하위디렉토리 전체) 로컬 저장소 만들기 # pkgrepo-s /export/repoSolaris11 refresh Repo가 저장된 파일시스템 내의 패키지 Index작업 <그림-1> Full repo image Download
  • 22. • Local IPS 구성(solaris11.2) 22 2. Solaris11 Package 파일 복사로 구성 • Oracle Download Site에 가서 repo full 이미지를 다운받아서 서버에 Upload한다. -> Repository Assembly Script (install-repo.ksh)와 MD5 필수로 받을것…. # zfs create –o atime=off –o mountpoint=/repoSolaris11 rpool/repo # chmod 777 install-repo.ksh # ./install-repo.ksh -v -d /repoSolaris11 # pkg set-publisher –G “*” –g file:///repoSolaris11solaris 로컬 저장소 만들기 <그림-1> Full repo image Download 별도 디렉토리에 모두 업로드할것 11.1에서 11.2로 upgrade – 11.3같은방법
  • 23. • Local IPS 서버 구성(http) 23 2. Solaris11 Package IPS 서버(pkg/server) • 서버 환경의 경우 인터넷에 연결이 안되는 구성이 있을수 있다(내부망 및 방화벽구성시) • Solaris11 서버가 한대면 로컬에 파일을 업로드하여 구성하면 돼겠지만, Solaris11서버가 여러대라면 한대를 IPS 서버로 구성한 다음 다른 서버들이 IPS서버를 게시자로 잡아서 사용하도록 한다. • 구성이 완료되면 pkg 명령어를 사용하는 클라이언트에서 pkg set-publisher로 구성한다. # svccfg-s application/pkg/serversetproppkg/inst_root=/export/repoSolaris11 # svccfg-s application/pkg/serversetproppkg/readonly=true # svcprop -p pkg/inst_root application/pkg/server-> repo 디렉토리 확인 # svccfg-s application/pkg/serversetproppkg/port=80809 # svccfg-s pkg/servereditprop # svcadmrefreshapplication/pkg/server -> SMF 속성값을 변경하였으므로refresh사용 # svcadmenableapplication/pkg/server # pkgrepo info -s /export/repoSolaris11 Pkg/server구성 # pkg set-publisher -G '*' -M '*' -g http://localhost:80809/ solaris -G '*' solaris 게시자에 대한 모든 기존 원본을 제거 -M '*' solaris 게시자에 대한 모든 기존 미러를 제거 -g 새로 만든 로컬 저장소의 URI를 solaris 게시자에 대한 새 원본으로 추가 Pkg client 구성
  • 24. • Local IPS 서버 구성(nfs) 24 2. Solaris11 Package IPS 서버(pkg/server) • http 사용시 port를 변경할수 도 있지만 아파치등 고객사의 보안정책에 위배될수도 있다. • IPS서버를 구성하는 다른 방법으로 NFS를 사용하여 구성하도록 한다. # zfscreate-o mountpoint=repoSolaris11rpool/repoSolaris11 # zfsset share=name=s11repo,path=/repoSolaris11,prot=nfsrpool/repoSolaris11 name=s11repo,path=/export/repoSolaris11,prot=nfs # zfsset sharenfs=on rpool/repoSolaris11 # share - 확인 /repoSolaris11 s11repo nfs sec=sys,rw - 간단방법 # zfsset sharenfs=on rpool/repo or # share–o anon=0/repoSolaris11 Pkg/server구성 # pkg set-publisher -G '*' -M '*' -g /net/서버IP/export/repoSolaris11/ solaris -G '*' solaris 게시자에 대한 모든 기존 원본을 제거 -M '*' solaris 게시자에 대한 모든 기존 미러를 제거 -g 새로 만든 로컬 저장소의 URI를 solaris 게시자에 대한 새 원본으로 추가 Pkg client 구성
  • 25. • Package Update 25 2. Solaris11 Package Pkg update • IPS를 사용하면 사용 가능한 업데이트가 있는 모든 패키지를 시스템에서 업데이트하거나, 시스템의 제약을 받지 않는 개별 패키지를 업데이트할 수 있다. • 패키지 제약을 받는 경우는 메시지가 제공되며, 일반적으로 종속성 또는 버전 지정 문제를 나타낸다. • 패키지 업데이트의 경우 현재 실행중인 BE(Boot Environment)에 적용하기전에 새로운 BE가 만들어 지거나 백업 BE이 만들어진다. # pkg update패키지 업데이트 # pkg update library/zlib개별 패키지 업데이트 # pkg update -nv --accept 업데이트가 필요한 패키지 보기 • pkg update를 사용하면 커널구성요소 또닌 기타 하위레벨 시스템 패키지가 업데이트 된다 • pkg update –nv 를 사용하면 실제 패키지를 설치하지 않고 업데이트가 필요한 시스템의 패키지를 표시한다. • 업데이트의 경우 해당 패키지의 버그수정사항이 포함. = Solaris10 의 특정패치 적용
  • 26. • Package Update(SRU) 26 2. Solaris11 Package SRU - 인터넷 • SRU(Support Repository Update) - support 패키지 저장소에 액세스하여 주기적으로 Oracle Solaris 11 시스템을 업데이트할수 있으며, 저장소 형태로 제공된다. • Solaris10의 patch-bundle같은 개념으로 생각한다. • Pkg update 작업은 실행 중인 BE에 적용되며, 복구를 위해 백업 BE가 만들어진다. SRU가 적용되면 새 BE가 만들어지며, 필요에 따라 원래 BE로 돌아갈수 있다 • pkg publisher가 인터넷 (:http://pkg.oracle.com/solaris/release) 으로 연결된 경우 release용 SSL키와 인증서를 다운로드후 서버에 업로드 하여 게시자 등록후 업데이트 한다. # mkdir-m 0755-p /var/pkg/ssl # cp -i Oracle_Solaris_11_Support.key.pem/var/pkg/ssl # cp -i Oracle_Solaris_11_Support.certificate.pem/var/pkg/s니 # pkg set-publisher -k/var/pkg/ssl/Oracle_Solaris_11_Support.key.pem -c /var/pkg/ssl/Oracle_Solaris_11_Support.certificate.pem -Ohttps://pkg.oracle.com/solaris/supportsolaris # pkg --acceptupdate -v 인터넷 사용으로 업데이트 <그림-1> Key 값 다운로드(https://pkg-register.oracle.com/)
  • 27. • Package Update(SRU) 27 2. Solaris11 Package SRU – Local IPS • 인터넷 연결이 안되고 로컬 IPS 구성시에는 SRU repo incr 이미지를 다운받아서 추가하여 SRU를 업그레이드 한다. • MOS로 접속(http://support.oracle.com)후 다운로드하여 서버로 업로드한다. # mount -F hsfs-o ro sol-11-1111-sru11-04a-incr-repo.iso/mnt # pkgrecv -s /mnt/repo -d /export/repoSolaris11'*' # pkgreporefresh-s /export/repoSolaris11 # pkgrepo list-s /export/repoSolaris11 entire PUBLISHER NAME OVERSION solaris entire 0.5.11,5.11-0.175.0.11.0.4.1:20120901T011439Z solaris entire 0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z 로컬저장소로 저장 <그림-1> SRU 다운로드
  • 28. • Package Update(SRU) 28 2. Solaris11 Package SRU – Local IPS • 기존 full repo가 있는 곳에 SRU upgrade (incr)를 추가하고 update를 실시한다. • IPS서버에 먼저 업데이트를 하고 해당 IPS서버로 구성되어 있는 모든 클라이언트 서버들도 적용한다. # pkg update-v --be-name=SRU11.4–accpt --be-name으로 백업본을 만들어 SRU를 업그레이드한다. 패키지 업데이트 # pkgrepolist-s http://192.168.6.21/entire PUBLISHER NAME O VERSION solaris entire 0.5.11,5.11-0.175.0.11.0.4.1:20120901T011439Z solaris entire 0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z # pkg update-v --be-name=SRU11.4--accept. IPS클라이언트에서 IPS서버 저장소를 사용하여 업데이트 • 패키지를 설치, 업데이트 또는 제거할 때 새 BE나 백업 BE가 생성될 수 있습니다 • --be-name 옵션은 기본이름( solaris)대신 SRU11.4라는 이름으로 BE가 생성이 된다. – 원하는 이름으로 지정 • 이름 미지정시 현재 be에 backup-n(숫자) 이라는 백업 BE가 생성
  • 29. • Package 저장소 관리 별도 Tip 29 2. Solaris11 Package SRU관리 – ZFS snapshot • Package저장소를 최신 SRU 버전으로 업그레이드 후 zfs snapshot으로 관리하면 추후 다른 서버 적용시에는 zfs recv만으로 최신 버전의 패키지 저장소를 구축할수 가 있다. • Sparc & x86 은 혼용가능하나 release(solaris11.1 과 11.2)는 서로 다른 버전으로 되어 있으니 11.1을 사용중이라면 먼저 11.2의 기본 패키지저장소를 구축한뒤 New SRU 버전으로 11.2로 업그레이드 후에 최신버젼의 SRU로 업그레이드 하도록 한다. root@dong1:~# pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file:///repoSolaris11/ root@dong1:~# zfslist NAME USED AVAIL REFER MOUNTPOINT rpool/repo 10.8G 4.81G 10.8G /repoSolaris11 패키지 저장소 # zfssnapshot –r rpool/repo@archive # zfssend -Rv rpool/repoSolaris11@archive | gzip> /opt/SSVC/SRU11.2-5.5.zfs.gz 패키지 저장소 만들기(ZFS) # zfscreate–o atime=off –o mopuntpoint=/repoSolaris11rpool/repo # cat /opt/SSVC/SRU11.2-5.5.zfs.gz| gzip -d | zfs receive-vF rpool/repo # pkg set-publisher–G “*”–g file:///repoSolaris11solaris 다른 서버에 구축
  • 31. • 부트환경 31 3. Solaris11 Boot Environment BE • Solaris11은 OS 파일시스템이 ZFS이다.(Solaris10은 UFS,ZFS선택적 설치가능) • 부트환경은 ZFS를 사용하여 부트환경을 다중으로 관리 하도록 하게해준다. – 현재 OS 의 clone • BE(부트환경)은 Root 데이터 집합 및 선택적으로 루트 Data set 아래에 마운트되는 기타 데이터 집합으로 구성되는 부트 가능한 Oracle Solaris 환경이다., 다시 말하면 부트환경은 여러 개 만들순 있지만 실행은 하번에 하나만 활성상태가 된다. - Data set = 복제본, 파일 시스템 또는 스냅샷과 같은 ZFS 엔티티에 대한 일반 적인 이름. ->ZFS 부분에서 자세히 설명하도록 한다. • BE의 복제본은 다른 부트 환경을 복사하여 생성되며, 복제본은 부트 가능하다. • 예를 들어 Patch작업 및 중요한 package설치시 현재OS를 새로운 BE로 생성해놓고, Roll-Back이 필요할시에는 rebooting한번으로 예전 OS환경으로 돌아갈수가 있다. • Patch시 새로운 BE name을 지정하면 해당 BE로 Patch를 설치하게 되며, 재부팅 후에는 active BE가 된다. Active BE Active BE New BE Active BE Updated BE <그림-1> Solaris11 BE <그림-2> Solaris11 BE 생성
  • 32. • 부트환경 32 3. Solaris11 Boot Environment BE • BE를 관리하는 방법 = beadm(명령어), pacage manager(pkg를 관리하는 GUI도구) • 아래는 BE를 관리하는 beadm으로 할수 있는 작업 범위이다.  활성 부트 환경을 기반으로 새 부트 환경 생성  비활성 부트 환경을 기반으로 새 부트 환경 생성  기존 부트 환경의 스냅샷 생성  기존 스냅샷을 기반으로 새 부트 환경 생성  새 부트 환경을 만들고 이를 다른 zpool에 복사  새 부트 환경을 만들고 x86 GRUB 메뉴 또는 SPARC 부트 메뉴에 사용자 정의 제목과 설명을 추가  기존의 비활성 부트 환경 활성화  부트 환경 마운트,해제. 삭제. 스냅샷 삭제. 이름바꾸기, 정보표시 root@Sol11-IPS:~#beadmlist BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- SRUupgrade NR / 16.32G static 2014-02-05 18:43 solaris - - 8.20M static 2014-01-20 01:43 Active 필드의 설명 N  현재 부팅이 되어 있는 환경 R -> Rebooting후 부트환경 beadm 명령어로 상태 보기
  • 33. • 부트환경 33 3. Solaris11 Boot Environment BE • 이전에는 Live Upgrade를 수행하거나 patchadd 명령을 사용하여 BE를 업데이트할 수 있었지만, Solaris 11에서는 pkg update 명령을 사용하여 BE를 업데이트하거나 beadm 명령 세트를 사용하여 BE를 생성, 표시 및 제거할 수 있다. Oracle Solaris 10 구문 Oracle Solaris 11 구문 설명 lucreate -n newBE beadm create newBE 새 BE 만들기 lustatus beadm list BE 정보 표시 luactivate newBE beadm activate newBE BE 활성화 ludelete BE beadm destroy BE 비활성 BE 삭제 luupgrade or patchadd pkg update BE 업그레이드 또는 업데이트 • 시스템에서 작업 수행 ① 부트 가능한 이미지인 현재 BE의 복제본을 만듭니다. ② 복제본 BE에서 패키지를 업데이트하되, 현재 BE의 패키지는 업데이트하지 않습니다. ③ 새 BE를 다음 번 시스템 부트 시 기본 부트 옵션으로 설정합니다. 현재 BE는 대체 부트 옵션으로 유지됩니다 ④ Ex) # pkg update 만 실행했을 경우 pkg update 작업이 완료되면 새 BE인 solaris-1이 자동으로 활성화 된다. • Pkg update후 새 BE 부팅시 오류가 발생하여 이전 BE를 활성화 하는 경우 이전 BE를 active시켜 부팅한다. root@Sol11-IPS:~#beadmlist BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- SRUupgrade NR / 16.32G static 2014-02-05 18:43 solaris - - 8.20M static 2014-01-20 01:43 root@Sol11-IPS:~#beadmactivatesolaris  active필드에 R이 표시된다. root@Sol11-IPS:~#init 6 beadm 명령어로 상태 보기 <표-1> 기존 부트환경 관리와 차이점
  • 34. • 부트환경 34 3. Solaris11 Boot Environment pkg update시 BE • pkg updaate시 boot환경을 만드는 옵션에 대해서 설명한다. • 새 BE는 업데이트가 있는 모든 패키지를 업데이트하기 위해 pkg update 명령을 실행할 때 생성이 된다. 예를 들어 solaris-1이라는 이름으로 자동 bename으로 생성이 되지만 다양 한 옵션으로 이름을 변경하는등 수정을 할 수가 있다.  --no-be-activate BE가 생성된 경우 해당 BE가 다음 부트 시 활성 BE가 되도록 설정하지 않는다.  --no-backup-be 백업 BE를 만들지 않는다.  --require-backup-be 새 BE가 생성되지 않을 경우 백업 BE를 만든다 이 옵션을 생략할 경우 백업 BE가 생성되는지 여부는 이미지 정책에 따라 다르다.  --backup-be-name dong 백업 BE가 생성되면 기본 이름 대신 “dong”이라는 이름을 지정한다. --backup-be-name을 사용하면 -require-backup-be가 지정된 것을 의미한다.  --deny-new-be 새 BE를 만들지 않는다. 새 BE가 필요한 경우 설치, 업데이트, 제거 또는 되돌리기 작업이 수행되지 않는다.  --require-new-be 새 BE를 만든다. 이 옵션을 생략할 경우 BE가 생성되는지 여부는 이미지 정책에 따라 다릅니다 이 옵션은 --require-backup-be와 함께 사용할 수 없다.  --be-name name BE가 생성되면 기본 이름 대신 name이라는 이름을 지정한다. --be-name을 사용하면 --require-new-be가 지정된 것을 의미한다.  BE가 자동으로 생성되는 조건(다음중하나)  일부 드라이버 및 기타 커널 구성 요소 같은 특정한 주요 시스템 패키지를 업데이트하는 경우 이와 같은 작업은 변형을 설치, 제거, 업데이트, 변경하거나 페이싯을 변경할 때 수행될 수 있다.
  • 35. • 부트환경 만들기 35 3. Solaris11 Boot Environment BE Create • 기존 부트 환경의 백업을 생성하려는 경우 원래 부트 환경을 수정하기 전에 beadm 명령으로 활성 부트 환경의 복제본인 새 부트 환경을 생성하고 마운트할 수 있다. • beadm create 명령을 사용하여 부트 환경을 복제할 때는 해당 부트 환경에서 지원되는 모든 영역이 새 부트 환경에 복사된다. root@Donghwa:~# beadmcreate dong root@Donghwa:~# beadmlist BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- dong - - 66.0K static 2014-04-06 22:27 solaris - - 8.47M static 2014-02-26 07:54 solaris-1 NR / 5.81G static 2014-04-05 00:37 root@Donghwa:~# beadmmount dong/mnt root@Donghwa:~# df -h | grep dong rpool/ROOT/dong 9.5G 3.0G 2.6G 54% /mnt rpool/ROOT/dong/var 9.5G 533M 2.6G 17% /mnt/var root@Donghwa:~# beadmumount dong BE 만들어서 mount하기 • beadm create 명령은 부분 부트 환경을 생성하지 않는다. 부트환경인 ZFS rpool을 create 했다면 rpool의 data-set내의 모든 파일시스템이 create된다.(/export는 제외) root@Donghwa:~# beadmactivatedong root@Donghwa:~# beadmlist BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- dong R - 5.81G static 2014-04-06 22:27 solaris - - 8.47M static 2014-02-26 07:54 solaris-1 N / 82.0K static 2014-04-05 00:37 만들었던 BE 활성화 하기 • 재부트 시 새 활성 부트 환경은 x86 GRUB 메뉴 또는 SPARC 부트 메뉴에서 기본 선택 사항으로 표시되며, 가장최근에 활성화된 부트 환경이 기본값이다..
  • 36. • 부트환경 스냅샷 만들기 36 3. Solaris11 Boot Environment BE snapshot • beadm명령어를 아래 형식으로 스냅샷을 만들수 있다. beadm create BeName@snapshotdescription -- 기존 bename에서 @후 스냅샷 이름을 주면 된다. • 스냅샷은 그자체로는 부팅을 할 수가 없다, 부트환경으로 만들어 주기 위해서는 부트환경으로 만들어 주어야 한다. root@Donghwa:~# beadmcreate dong@backup root@Donghwa:~# beadmlist-a BE/Dataset/Snapshot Active Mountpoint Space Policy Created ------------------- ------ ---------- ----- ------ ------- dong rpool/ROOT/dong - - 86.82M static 2014-04-06 22:27 rpool/ROOT/dong/var - - 2.86M static 2014-04-06 22:27 rpool/ROOT/dong/var@backup - - 0 static 2014-04-06 23:47 rpool/ROOT/dong@backup - - 0 static 2014-04-06 23:47 BE 스냅샷 만들기 root@Donghwa:~# beadm create-e dong@backupdong2 root@Donghwa:~# beadmlist BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- dong - - 89.83M static 2014-04-06 22:27 dong2 - - 65.0K static 2014-04-06 23:54 스냅샷 부트 가능한 상태(BE)로 만들기
  • 37. • 부트환경 관리 37 3. Solaris11 Boot Environment BE 관리 • beadm명령어는 아래와 같은 옵션으로 관리가 된다. - beadm list [-a | [-ds] [-H] [BeName]  -a – 사용 가능한 모든 부트 환경 정보를 나열합니다. 이 정보에는 하위 데이터 집합 및 스냅샷이 포함된다.  -d – 부트 환경에 속한 모든 하위 데이터 집합에 대한 정보를 나열한다.  -s – 부트 환경의 스냅샷 정보를 나열하다.  -H – 헤더 정보를 나열하지 않는다. 출력의 각 필드는 세미콜론(;)으로 구분된다. • beadm list의 active 필드 설명  R – 재부트 시 활성화된다.  N – 지금 활성화된다.  NR – 지금 활성화되고 재부트 시 활성화되다.  “-” – 비활성화된다  “!” – 비전역 영역의 부트할 수 없는 부트 환경은 느낌표로 표시됨 root@Donghwa:~# beadmlist-s -d BE/Dataset/Snapshot ActiveMountpointSpace PolicyCreated ------------------- ------ --------------- ------------- dong rpool/ROOT/dong - - 86.89M static2014-04-0622:27 rpool/ROOT/dong/var - - 2.86M static2014-04-0622:27 rpool/ROOT/dong/var@backup - - 1.0K static2014-04-0623:47 rpool/ROOT/dong@backup - - 83.0K static 2014-04-0623:47 Beadm list 옵션
  • 38. • 부트환경 관리 38 3. Solaris11 Boot Environment BE 관리 • 기존부트환경을 업데이트한다. • 기본 부트환겯ㅇ을 마운트 하여 pkg install하거나 update를 할수 있다. root@Donghwa:~# beadmmount dong/mnt root@Donghwa:~# pkg -R /mnt install xclock Packages to install: 3 DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 3/3 36/36 0.3/0.3 67.5k/s root@Donghwa:~# beadmumount dong 기존 부트환경 업데이트 • 기존 부트환경을 삭제하거나 이름을 변경한다. root@Donghwa:~# beadmrenamedong donghwa기존 부트환경 이름변경 root@Donghwa:~# beadmdestroy -f donghwa Are you sure you want to destroydonghwa? Thisactioncannot be undone(y/[n]):y 기존 부트환경 삭제  ZFS 용량관리 Pool내의 사용량이 높아 파일을 삭제한후에 df값은 변경이 되었는데 zfs list로 확인해보니 용량이 줄지 않는다. 해당 경우에는 zfs snapshot에 참조가 있어 snapshot까지 삭제를 해야 하는 데 같은 경우로 be도 snapshot을 사용하기 때문에 활성화 된 BE외 참조가 되는 BE를 모두 삭제해 주어야만 용량이 줄어드는 것을 확인할수 있을 것이다.
  • 40. • ZFS(Zettabyte File System) 40 4. ZFS(Zettabyte File System) ZFS 소개 • 효율적인 스토리지 리소스 관리 ( virtualizedstorage)  별도의 볼륨관리 S/W없이 개별 DISK들은 하나의 스토리지 풀에 포함되어 다수의 파일 시스템들이 동적으로 스토리지 풀을 공유하여 사용하며, 파일 시스템의 사이즈를 늘리거나 줄이기 위해서 볼륨을 재구성할 필요 없음 (참조: tmpfs 개념과 유사 ) • 동적 데이타 관리  파티션, 슬라이스, 볼륨, 파일시스템과 같은 기존의 복잡했던 스토리지 관리 및 복잡한 명령어가 필요없으며, 단순히 스토리지 풀에서 동적으로 필요한 용량만큼 사용하는 방식 ( /etc/vfstab수정 불필요, newfs 작업 불필요)  ZFS는 Pool을 생성과 동시에 파일시스템이 생성이 되고 해당 Pool의 이름으로 자동 마운트가 된다. • 최고의 데이터 보안 및 무결성 ( cutting edgedatasecurity& integrity)  ZFS는 Copy-On-Write 파일시스템이므로 디스크내의 ZFS 구조는 항상 일치하며 불시의 시스템 다운 시에도 복구 과정 (예. Fsck) 이 필요 없으며, ZFS내의 모든 데이터는 64bit checksum에 의해서 99.9999…(19 9’s) 퍼센트의 자동 데이터 무결성 보장 • 가상 무제한 데이터 확장 ( virtuallyunlimiteddatascalability)  ZFS는 128 비트 화일 시스템이므로 이론적으로 2128 바이트의 스토리지 , 264 개의 파일 시스템, 스냅샷, 파일 갯수, 디렉토리 엔트리 등을 가질 수 있으며 기존의 32비트나 64비트 화일 시스템보다 16 billionbillion배의 용량을 가질 수 있으나, 현재는 OS나 NFS 같은 File 수준의 프로토콜이 64bit만 지원하기 때문에 64bit 로 제한됨  모든 메타 데이터는 동적으로할당되므로 inode를 미리 할당하거나 파일 시스템을 처음 만들 때 파일 시스템의 확장성을미리 제한할 필요도 없다.  Inode갯수에 제한 없이 – 파일개수 제한 없음. • Solaris11부터기본 파일시스템  Solaris11부터는 root(OS영역) 및 모든 파일시스템이 ZFS로 기본 동작한다.  기존의 UFS도 사용은 가능(root제외)하나 SVM은 별도 설치(pkg install svm)후 사용한다.
  • 41. • ZFS(Zettabyte File System) 41 4. ZFS(Zettabyte File System) ZFS 소개 전통적인 볼륨 • Abstraction: virtual disk • Partition/volume for each FS • Grow/shrink by hand • Each FS has limited bandwidth • Storage is fragmented, stranded ZFS 스토리지 풀 • Abstraction: malloc/free • No partitions to manage • Grow/shrink automatically • All bandwidth always available • All storage in the pool is shared • 디스크 Pool 단위로 관리  다수의 디스크를 Pool(디스크그룹 개념)로 구성후 관리 – 확장 및 관리의 이점 – 하나의 풀에 다수의 파일시스템,Volume이 존재할수 있음.  File , Slice , 디스크단위로 파일시스템 생성이 가능 – 디스크로 만드는 것 권장.  Pool내에서 다이나믹 스트라이핑 지원 (mirror, raidz(Raid5개념) 지원)  파일시스템과 볼륨매니져의 일체형(파일시스템(기본 create)으로 만들수 있고, Volume(create 시 –V 옵션 및 사이즈 명시)으로도 만들수 있음)  Pool 단위로 import & export가 가능하여 Pool이전(디스크복제 -Hitachi UR, EMC BCV등)이 용이.
  • 42. • ZFS(Zettabyte File System) 42 4. ZFS(Zettabyte File System) ZFS 소개 • COW구조(CopyOn Wirite) • 기존의 파일시스템은 Write중인 데이터를 수정할때 해당 Block을 덮어쓰기하는 형태로 쓰는데, 이도중에 예기치못한 장애가 발생하면, 데이터에 오류가 생기고 파일시스템은 데이터를 가리키는 포인팅 정보를 잃어 버리게된다. • 이문제를 해결하는 방법으로 fsck를 사용하여 Block정보를 찾아 재 연결시키는 데 fsck는 디스크 전체를 Scan하기 때문에 복구시간이 많이 걸리는 문제가 발생된다. • ZFS는 트랜잭션 파일시스템을 사용하며, COW(Copy On Write_ 방식으로 사용중인 데이터를 기존의 가진 블록에 덮어쓰지 않고 별도의 다른 블록에 먼저쓰고 쓰기 작업이 완료(commit)되면 포인터를 새로 쓰기된 데이터블록으로 변경한다. • 이구조에 의해 파일시스템이 80%가 넘지 않도록 주의하여야 하며(성능저하), 80%가 넘을시에 snapshot(파일시스템 백업)시에도 여유공간이 없어 제대로 돼지 않을수 있으니 주의해야 한다.
  • 43. 43 Pool 생성 ① Pool을 만든다 -> Pool 생성시 Pool을 구성할 디스크 선택, RAID밧식 선택 ② ZFS file system을 만든다.. ③ 세부 옵션을 지정 한다. ( quota, mountpoint등등) – 나중에 다시 설명…. • Pool 생성 방법 - zpool create poolname [RAID Type] Disk-----  RAID Type – mirror(RAID1) , raidz(RAID5개념), raidz2(RAID6 – 더블패리티)으로 구성할수 있음, 지정하지 않을 경우 – stripe로 구성  Disk – Pool 을 구성할 디스크 용량이 있는 slice까지 줘도 되며, c#t#d# 까지만 줬을경우 Pool안의 디스크가 EFI로 Label된다.  ( Ex – Pool 을 구성할 디스크 c1t0d0, c1t0d1, c1t0d2, c1t0d3). root@Donghwa:~# zpool createdong_Pool c1t0d0c1t0d1c1t0d2c1t0d3Pool생성 - Stripe 4. ZFS(Zettabyte File System) • ZFS 사용 – 시작 - Pool 생성 root@Donghwa:~# zpool createdong_Pool mirrorc1t0d0c1t0d1Pool생성 – mirror방식 root@Donghwa:~# zpool createdong_Pool raidz c1t0d0c1t0d1c1t0d2c1t0d3Pool생성 – raidz방식
  • 44. 44 Pool 확인 - list • 생성된Pool들을확인한다.–아래예시에서는rpool과test이렇게2개의Pool이있다. -zpoollist  NAME – Pool의 이름을 나타낸다.  SIZE – 해당 POOL의 용량을 나타낸다.  ALLOC – 해당 POOL의 할당된 공간을 나타낸다. – 사용량 대비  FREE– 해당 POOL의 할당된 남은 공간을 나타낸다.  CAP – 전체 pool의 공간의 사용율을 나타낸다 – 90%넘기지 않도록 주의.  DEDUP – 중복 제거율을 나타낸다.  HEALTH– 상태를 나타낸다.  ALTROOT–대체경로를나타낸다. root@Donghwa:~# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 9.69G 7.47G 2.22G 77% 1.00x ONLINE - test 1.99G 416K 1.99G 0% 1.00x ONLINE - Pool확인 - list 4. ZFS(Zettabyte File System) • Zpool 확인
  • 45. 45 Pool 확인 - status • 생성된 Pool의 상태를 확인 한다. - zpool status  Pool = 해당 pool의 이름을 나타낸다  state– 해당 POOL의 상태를 나타낸다.  ONLINE– 해당 Pool이 정상인 상태  DEGRADED – 해당 POOL의 구성에 문제가 있거나 mirror및 raid구성중인 상태라 성능저하가 나올수 있는 상태  FAULED – 해당 POOL의 구성요소(DISK)에 문제가 있는 상태, Pool이 사용불가능 상태이다.  Scan – 해당 pool이 스크럽중이거나 mirror구성중일때 상태를 나타낸다.  Config – 해당 pool의 구성요소 및 상태를 보여준다  -xv 옵션을 주면 현재 pool상태에서 error가 있는 부분만 보여주게 된다. - # zpoolstatus-xv root@Donghwa:~# zpool status pool: test state: ONLINE scan: resilvered 427K in 0h0m with 0 errors on Fri Jul 11 09:15:35 2014 config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 c8t1d0s0 ONLINE 0 0 0 errors: No known data errors Pool확인 - status 4. ZFS(Zettabyte File System) • Zpool 상태 및 구성요소 확인
  • 46. 46 Pool 에 디스크 추가 • Stripe및 raidz로 구성된 pool에 디스크를 추가한다.. - zpool add poolnameDisk  add – stripe이나 raidz로 구성된 pool에 디스크를 추가할때 쓰는 sub옵션  Poolname – 디스크를 추가할 pool name , Disk - 추가할 디스크 root@Donghwa:~# zpool status pool: test state: ONLINE scan: resilvered 427K in 0h0m with 0 errors on Fri Jul 11 09:15:35 2014 config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 c8t1d0s0 ONLINE 0 0 0 errors: No known data errors root@Donghwa:~# zpool add test c8t2d0 root@Donghwa:~# zpool status pool: test state: ONLINE scan: resilvered 427K in 0h0m with 0 errors on Fri Jul 11 09:15:35 2014 config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 c8t1d0s0 ONLINE 0 0 0 c8t2d0 ONLINE 0 0 0 Pool에 디스크추가 4. ZFS(Zettabyte File System) • Zpool 관리 – 디스크 추가
  • 47. 47 rpool구성 • Soalris11 – ZFS 기본 파일시스템 • Disk geometric에 따라 관리 방식이 다름. – EFI의 경우 OS백업 유의 및 복구시 Slice지정 및 Bookblk지정 필요 - # bootadm install-bootloader -f -P rpool. • Solaris11의 경우 AI를 사용한 설치를 제외하고는 설치시 미러를 할수 가 없다. – Solaris10에서는 ZFS로 OS설치시 디스크 선택하여 가능 • 설치후 Mirror를 구성하게 되면 fmadm faulty error가 발생한다. – resilvering중 rpool이 DEGRADE되기 때문.. 4. ZFS(Zettabyte File System) • Zpool 관리 – OS Pool구성 • Solaris11 설치시 SMI방식 • Zpool status – rpool – c0t0d0s0 • Solaris11 설치시 EFI방식 • Zpool status – rpool – c0t0d0 • T장비경우 zfs Disk mirror구성시 silvering되는 동안 amber(경고등) 점등 M X T 해당내용은 2015년 4월 기준으로 xcp fiirmware후 EFI를 지원
  • 48. 48 rpool구성 • 설치시 파일시스템 정보 없음. • Swap & dump는 메모리 크리 변수에 따라 자동 지정 – (평균적 swap 4GB, dump 메모리 1:1 & 절반) 4. ZFS(Zettabyte File System) • Zpool 관리 – OS Pool구성 No 기본파일시스템 마운트포인트 관리 1 rpool/ROOT/solaris(BE) / Pool의 용량full 방지를 위해 Quota를 줘서 사용 Rpool의 디스크 사이즈가 300GB일경우 # zfs set qutoa=290g rpool/ROOT/solaris 2 rpool/ROOT/solaris/var /var 용량관리 3 rpool/VARSHARE /var/share 여러 부트 환경(BE) 간에 자동 데이터 공유를 사용 관리 無 4 rpool/VARSHARE/pkg /var/share/pkg 5 rpool/VARSHARE/pkg/repositories /var/share/pkg/repositories 6 rpool/VARSHARE/zones /system/zones 7 rpool/dump Volume Root Pool에 만드는 것을 권고 만약 rpool이외의 다른 Pool에 만들시에 raid-z Pool의 볼륨을 추가하면 지원안됨. 8 rpool/swap Volume Root Pool에 만드는 것을 권고 만약 rpool이외의 다른 Pool에 만들시에 raid-z Pool의 볼륨을 추가하면 지원안됨. Swap 파일 지원되지 않음 – mkfile
  • 49. 49 Pool 에 디스크 추가 - 미러 • Solaris10에서는 ZFS로 선택후 OS설치시 디스크 2개를 선택하여 설치하면 자동으로 미러를 구성하여 설치가 된다. • Solairs 11에서는 해당 기능이 없으며 하나의 디스크로 OS를 설치하여야 한다. • 설치후 OS디스크를 미러구성을 할때는 zpool attach명령을 사용하도록 한다. - zpool attach poolname 기존디스크 Disk  attach – 단일디스크에 디스크를 추가하여 미러를 구성하거나 기존의 미러 디스크풀에 디스크를 추가할때 사용  Poolname – 디스크를 추가할 pool name  기존디스크 – zpool status로 나온 기존디스크 # zpoolattachrpoolc2t0d0s0c2t1d0s0 Makesureto waituntilresilveris done beforerebooting. Pool에 디스크추가 4. ZFS(Zettabyte File System) • Zpool 관리 – 기존 디스크에 미러구성  Attach시 message발생 Solaris10에서는 attach시 resilvering중이라고 나오지만 solaris11에서는 resilvering 중이라는 메시지와 함께 Pool의 상태가 DEGRADED로 빠지게 된다. 이는 미러링을 하는 도중에는 성능저하가 나올수 있다는 뜻이며 resilvering이 완료된 후에는 풀의 상태가 ONLINE으로 바뀌게 되므로 상관이 없다. T-Serise의 장비에서는 실버링 되는 동안 FMD에서 감지가 되어 amber(경고등)이 들어올것이다 리실버링이 완료되면 자동 clear되니 신경쓰지 않아도 된다.
  • 50. 50 Pool 에 디스크 교체 • Stripe로 구성된 Pool을 제외한 mirror혹은 raidz로 구성된 Pool의 디스크 교체 법이다.  Mirror로 구성된 Pool의 용량이 작을때 사용할수도 잇다 – 용량 큰 디스크로 mirror구성후 사용(attach)  rpool(root pool)일 경우 zpool replace 명령을 사용하여 루트 풀 디스크에서 디스크를 교체하는 경우 부트 블록을 수동으로 적용해야 한다 # zpoolofflinerpoolc1t0d0s0 # cfgadm-c unconfigurec1::dsk/c1t0d0 -- fault난 디스크 교체 # cfgadm-c configure c1::dsk/c1t0d0 -- 새 디스크 기존 디스크와 VTOC정보를맞춘다. # prtvtoc/dev/rdsk/c1t1d0s2 | fmthard –s - /dev/rdsk/c1t0d0s2 # zpoolonlinerpoolc1t0d0s0 # zpoolreplacerpoolc1t0d0s0 # zpoolstatusrpool Pool내의 디스크 교체 4. ZFS(Zettabyte File System) • Zpool 관리 – 디스크 교체  autoreplace 속성 #zpool get all poolname 시 나오는 속성 값중 autorepace값이 있다. 이 등록 정보는 장치 자동 교체를 제어하며. off로 설정된 경우, 관리자가 zpool replace 명령을 사용하여 장치 교체를 시작해야 ㅎ한다. 하지만 on으로 설정된 경우에는 , 이전에 풀에 속하던 장치와 동일한 실제 위치에 있는 새 장치가 발견되면 자동으로 포맷되고 교체됩니다. 기본값은 off이다.
  • 51. 51 Pool 에 디스크 교체 • 디스크를 add하여 디스크 용량을 증설하는 방법외에 사용중인 디스크의 용량을 늘이기 위해 사용한다.  예를 들어 rpool일경우 OS Disk Pool인 root pool은 attach로 mirror구성은 가능하지만 add로 디스크추가하여 용량을 늘이는것은 불가하다.  그렇다면 mirror구성시 용량이 큰 디스크를 attach하면 mirror구성은 당연히 작은 용량으로 맞추어 mirror 가 구성이 될것이다.  이때 기존의 용량이 작은 디스크를 떼어내고 autoexpend를 설정하면 용량이 큰 디스크쪽으로 pool Size가 늘어난다. # zpoolattachrpoolc2t0d0s0c2t1d0s0 Makesureto waituntilresilveris done beforerebooting. # zpooldetachrpoolc2t0d0 # zpoolset autoexpand=onrpool 혹은 # zpoolonline-e c2t1d0 Pool내의 디스크 용량 늘이기 4. ZFS(Zettabyte File System) • Zpool 관리 – 미러Pool 용량 늘이기
  • 52. 52 Pool 에 디스크 교체 • Pool을 삭제하고 import하는 방법에 대해 설명한다.. • - zpoolimport [-D]  뒤레 아무 이름도 주지 않으면 import할수 있는 pool들이 나열된다..  -D 옵션을 주면 삭제된 import도 보인다. 삭제된 pool import시 –D옵션을 주고 impot한다. • - zpool import test  test라는 pool을 import한다. • - zpool destroy test  test라는 pool을 삭제한다. • - zpool export test  test라는 pool을 export한다. root@Donghwa:~# zpool destroytest root@Donghwa:~# zpool import -D pool: test id: 13885982651507388717 state: ONLINE (DESTROYED) action: The pool can be imported using its name or numeric identifier. config: test ONLINE c8t1d0s0 ONLINE c8t2d0 ONLINE root@Donghwa:~# zpool import –D test Pool삭제후 삭제된 pool import 4. ZFS(Zettabyte File System) • Zpool 관리 – Pool 삭제 및 import/export
  • 53. 53 OS Pool - rpool • Solaris11 은 설치시 기본적으로 ZFS로만 사용이 가능하다. • 이때 생성되는 일반적인 root Pool의 이름이 rpool이다. • 시스템이 설치된후 사용가능한 Root Pool 파일시스템 및 구성요소는 아래 와 같다. # zfslist-r rpool NAME USED AVAIL REFER MOUNTPOINT rpool 5.41G 67.4G 74.5K /rpool rpool/ROOT 3.37G 67.4G 31K legacy rpool/ROOT/dong 3.37G 67.4G 3.07G / rpool/ROOT/dong/var 302M 67.4G 214M /var rpool/dump 1.01G 67.5G 1000M - rpool/export 97.5K 67.4G 32K /rpool/export rpool/export/home 65.5K 67.4G 32K /rpool/export/home rpool/export/home/admin 33.5K 67.4G 33.5K /rpool/export/home/admin rpool/swap 1.03G 67.5G 1.00G - rpool의 구성요소 4. ZFS(Zettabyte File System) • Zpool 관리 – rpool • - rpool  부트관련 구성요소를 포함하는 마운트 지점. • - rpool/ROOT  엑세스가 불가능하며 관리가 필요없는 특수 구성요소이다. • - rpool/ROOT/dong  / 디렉토리에서 엑세스가 할수 있는 실제 Root BE(Boot environment) 이다. – 여기서는 dong라는 BE를 만들어 부팅을 해서 dong으로 나온다. • - rpool/ROOT/dong/var, rpool/export/home/admin  별도의 /var 파일시스템, 별도의 /export/home/admin파일시스템(사용자 홈디렉토리로 사용) • - rpool/dump , /rpool/swap  덤프와 스왑 볼륨이다.
  • 54. 54 ZFS 사용 - Create • Pool을 생성하고 디스크를 추가하여 준비가 되엇으면 실제로 File system을 만들거나 volume을 만드는 것은 zfs 명령어로 관리가 된다. • 기본적으로 pool을 생성하면 해당 pool이름으로 자동으로 마운트가 된다. -> 해당 pool이름으로 zfs 명령어로 관리를 하면된다. • Zfs 는 계층적 파일시스템이다. /test/donghwa를 마운트 하려면 test가 만들어 져있고 test/donghwa 라는 filesystem을 만들어야 한다. • 아무 옵션없이 create를 하게 되면 zfs명으로 마운트가 된다. • 파일시스템으로 작성시 기본적인 BlockSize는 128k이다. root@Donghwa:~# zfslist test 97K 976M 31K /test root@Donghwa:~# zfs createtest/donghwa root@Donghwa:~# df –h test 976M 32K 976M 1% /test test/donghwa 976M 31K 976M 1% /test/donghwa Zfs 만들기 /test/donghwa로 마운트하기 4. ZFS(Zettabyte File System) • zfs 사용 – ZFS 만들기 • # zfscreatetest/dong --- zfs 만들기. • # zfscreate–V 1g test/dong – test/dong이라는 볼륨 만들기 • # zfsdestroytest/dong - - test/dong zfs 삭제 – zfs 및 스냅샷 삭제시 사용 • # zfsget all test/dong – test/dong zfs 속성값들 보기 • # zfsset 속성변수=값test/dong – test/dong zfs 의 속성 변경(mountpoint, quota, mount여부등등) • # zfssnapshottest/dong@backup– test/dong zfs 스냅샷생성 • # zfsclone test/dong@backup – 스냅샷분의 쓰기 가능한 복제본
  • 55. 55 Zfs 사용 – 속성값 변경 • 만들어 진 ZFS 속성을 변경한다. • 가장 많이 사용하는 부분만 설명하도록 한다. # zfscreate–o mountpoint=/test/donghwa–o quota=30g test/dongZFS만들때 사용 4. ZFS(Zettabyte File System) • zfs 사용 – ZFS 속성변경 • # zfsset quota=30gtest/dong  quota는 만들어진 파일시스템에 대한 사용용량을 명시한 만큼 제한하는 것이다.(ZFS 효율적인 파일시스템 사용을 위해 반드시 설정한다. • # zfsset mountpoint=/test/donghwa ZFS 는 기본적으로 만들어진 이름(dataset)으로 마운트가 된다. 원하는 디렉토리로 마운트 할때 사용한다. • # zfs set reservation=30g test/dong  reservation은 test/dong에 미리 30G 를 할당해 사용하는 것을 의미한다. 설정해 놓으면 전체 용량에서 해당 용량 만큼 줄어든다. • # zfsset canmount=off test/dong ZFS는 /etc/vfstab을 수정할 필요가 없이 자동 마운트 이다. Mount를 하지 않을 경우 사용한다. • # zfsset quota=30g test/dong ZFS 는 기본적으로 Pool의 전체용량을 사용한다 개별 dataset(filesystem)을 생성할경우 해당 filesystem에 quota를 지정하여 해당 용량만큼만 사용하도록한다. – Pool의 용량은 줄어 들지 않음. – 용량관리에 용이 # zfsdestroy test/dongZFS 삭제
  • 56. 56 Zfs 사용 – Create volume • ZFS는 볼륨으로 에뮬레이팅 할수 있다. • 기본적으로 create를 한면 파일시스템으로 마운트가 되지만 create시 -V 옵션과 함게 Size를 명시하면 volume으로 만들어진다. • 오라클 RAC와 같은 환경에서 shared volume기능은 제공하지 않지만 sysbase나 informix DB를 사용할경우 각각의 Raw Device를 만들때는 해당 기능을 사용하도록 한다. • 볼륨으로 만들시에는 기본적인 Block Size는 8K 이다. • 볼륨을 만들어 해당 볼륨을 가지고 UFS 파일시스템 을 만들어 사용할수도 있다. • 해당 볼륨의 위치는 “/dev/zvol/rdsk/poolname/volume” 이다. root@test119 # zfscreate-V 1g u/test root@test119 # zfsget all u/test| grep -i vol u/test type volume - u/test volsize 1G local u/test volblocksize 8K - root@test119 # ls -rtl /dev/zvol/rdsk/u/test lrwxrwxrwx 1 root root 39 9월 11일 11:31 /dev/zvol/rdsk/u/test -> ../../../../devices/pseudo/zfs@0:1c,raw ZFS 볼륨을 만들어 확인 Poolname = u 4. ZFS(Zettabyte File System) • zfs 사용 – ZFS Volume만들기 • # zfscreate–V 2g test/vol -> 2gb의볼륨을 create한다. root@test119 # zfsset volsize=8grpool/swaprpool의 볼륨인 swap사이즈변경
  • 57. 57 ZFS snapshot사용 • Snapshot은 filesystem & volume에 대한 read only복사본이며 Pool내에서 추가 디스크 공간을 소비하지 않는다. • 활성 데이터 세트 내의 데이터가 변경되면 이전 데이터를 계속 참조하기 때문에 스냅샷에서 디스크 공간이 소비된다. • ZFS현재의 내용을 snapshot(읽기전용)으로 찍어 특정시점으로의 파일단위 복원 및 전체 복원이 가능하다. • 파일시스템의 정보를 이미지 백업 해 두었다가 특정에러나 파일실수 저장,삭제,덮어쓰기등 손상이 발생되면 이미지 백업에서 해당 파일만 복구할수 있는것이다. root@Donghwa:~# zfslist test 102K 976M 31.5K /test root@Donghwa:~# cat /test/testfile This is snapshot Test file!!!!!! root@Donghwa:~# zfssnapshottest@backup root@Donghwa:~# zfslist -t snapshot NAME USED AVAIL REFER MOUNTPOINT test@backup 0 - 31.5K - root@Donghwa:~# rm /test/testfile root@Donghwa:~# ls /test/testfile /test/testfile: No such file or directory root@Donghwa:~# cd /test/.zfs/snapshot/backup root@Donghwa:/test/.zfs/snapshot/backup# ls testfile root@Donghwa:/test/.zfs/snapshot/backup # cp ./testfile /test/testfile root@Donghwa:~# cat /test/testfile This is snapshot Test file!!!!!! Zfs 스냅샷 사용하여 파일 복구 4. ZFS(Zettabyte File System) • zfs 사용 – ZFS 백업 - snapshot • # zfssnapshot test@backup -> test@backup으로스냅샷이 생성돼며 스냅샷 디렉토리는 해당 마운트 디렉토리 밑의 .zfs이다. • # zfssnapshot –r test@backup-> test밑의하위의 모든 zfs파일시스템&볼륨들에대한 스냅샷. • # zfsrollback test@backup  생성된 스냅샷이 생선된시점으로모두 복원하기 위한 옵션. • # zfsdestroytest@backup 생성된 스냅샷 삭제-
  • 58. 58 ZFS 원격지 복사 • ZFS send /recive를 사용하면 전체 스트림 혹은 증분 스트림을 ZFS 스냅샷 데이터를 전송하고 ZFS 스냅샷 데이터 및 파일 시스템을 수신할 수 있다. • 복제방법은 기존 Pool단위(Pool내의 모든 ZFS Dataset)로 zfs snapshot을 실행한뒤 실행한 시점으로 부터 모든 data를 생성된 Pool(신규디스크로 만들어진 Pool)안의 zfs 로 전송하는 방법이다. 해당방법만 제대로 숙지하여 응용해서 사용하면 된다. – Pool내의 모든 dataset및 속성이 그대로 전달된다. 4. ZFS(Zettabyte File System) • zfs 사용 – ZFS 백업 – 스냅샷을 이용한 복제 root@test:~# zpool status pool: B_Test_pool state: ONLINE NAME STATE READ WRITE CKSUM B_Test_pool ONLINE 0 0 0 c1t5d0 ONLINE 0 0 0 c1t6d0 ONLINE 0 0 0 c1t7d0 ONLINE 0 0 0 pool: Test_pool state: ONLINE NAME STATE READ WRITE CKSUM Test_pool ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 c1t3d0 ONLINE 0 0 0 c1t4d0 ONLINE 0 0 0 root@test:~# zfssnapshot-r Test_pool@backup root@test:~# zfssend-RvTest_pool@backup| pv | zfsrecv –vF B_Test_pool sending full stream to Test_pool@backup sending full stream to Test_pool/product@backup sending full stream to Test_pool/log@backup estimated stream size: 186M receiving full stream of Test_pool@backup into B_Test_pool@backup received 45.8KB stream in 1 seconds (45.8KB/sec) receiving full stream of Test_pool/product@backup into B_Test_pool/product@backup received 187MB stream in 15 seconds (12.4MB/sec) ] receiving full stream of Test_pool/log@backup into B_Test_pool/log@backup 187MB 0:00:16 [11.4MB/s] [ <=> ] received 587KB stream in 1 seconds (587KB/sec) ZFS 원격 복사 Send / recv사이에 pv를 주면 진행과정을 monitoring할수 있다
  • 59. 59 ZFS rpool백업 • ZFS 스냅샷을 이용하여 OS백업을 받는 방법이다. • Snapshot과 send옵션을 사용하여 백업을 받는다. ① rpool 스냅샷 실행  # zfssnapshot –r rpool@archive ② 불필요한 스냅샷 제거 – rpool의 구성요소중 swap과 dump는 용량만 차지하고 현재의 임시이기 때문에 삭제하고, 복구시 새로 생성해주면 된다.  # zfsdestroy rpool/swap@archive  # zfsdestroy rpool/dump@archive ③ 스냅샷분을 다른 경로에 저장  # zfssend-Rv rpool@archive| gzip> /dev/rmt/0  /dev/rmt/0이라는 tape장치에 저장  # zfssend-Rv rpool@archive| gzip> /data/archive_201409-osbackup.zfs.gz -> /data라는 별도의 파일시스템에 저장(압축포함)  # zfssend-Rv rpool@archive| gzip| ssh USER@IP"cat>/data/archive_$(hostname)_$(date+%Y%m%d).zfs.gz“ -> 원격지 파일시스템에 저장 ④ 해당 스냅샷분 삭제  # zfsdestroy–r rpool@archive ⑤ 기존 구성정보 백업 – 만일을 위해 해당 rpool의 속성값및 필요정보들을 백업해두면 좋다.  # zfsget all rpool  # zpoolget all rpool  해당 zpool의 속성값 저장  # prtvtoc/dev/rdsk/c1t0d0s2>> /data/osdisk.vtoc  OS디스크 VTOC백업 4. ZFS(Zettabyte File System) • zfs 사용 – ZFS 백업 – 스냅샷을 이용한 OS백업
  • 60. 60 ZFS rpool복구 • ZFS 스냅샷을 이용하여 OS복구하는 방법이다. ① Cdrom Single모드 로 부팅 – Solaris11에서는 Solaris10의 failsafe( ok> boot –F failsafe ) 기능을 제공하지 않으므로 반듯이 cd media가 필요하다.  ok>boot cdrom-s ② 복구할 디스크 VTOC작성  일반적으로 sparc에서는 smi label을 boot device로 지원하며 slice0번으로 용량을 모두 할당하도록 한다.  # format-> p  0 번선택후 용량 할당  # fmthard–s /data/osdisk.vtoc/dev/rdsk/c1t0d0s2  백업받은 VTOC가 있을 경우 해당 ③ 복구할 디스크에 임시 Pool생성  # zpoolcreate–f rpool c1t0d0s0 ④ 생성된 rpool에 백업 받은 OS 복구 ( 백업받은 위치에 따라 다름)  # ssh USER@IP "cat/data/archive_myhost_20111011.zfs.gz" | gzip-d | zfsreceive -vF rpool 원격지 파일시스템에서 가지고와서 복원  # zpoolimport–f data  # cat /data/archive_myhost_20111011.zfs.gz | gzip–d | zfsrecv –vF rpool -> 별도의 디스크에 저장되어 있는 경우 ⑤ Swap & dump디바이스 생성  # zfs create–b 8k –V 16GBrpool/swap  # zfscreate–b 128k16GB rpool/dump ⑥ Rpool Boot환경 설정  # zpoolset bootfs=rpool/ROOT/solaris rpool-> solaris는 BE 이름이다.  # zpoolset failmode=continuerpool -> failmode는 장치연결손실때 동작여부이다. 기본값은 wait이며, 이경우에는 장치 교체후 zpool clear를 해주어야 한다.  # installboot -F zfs /usr/platform/`uname-i`/lib/fs/zfs/bootblk/dev/rdsk/c1t0d0s0 4. ZFS(Zettabyte File System) • zfs 사용 – ZFS 백업 – 스냅샷을 이용한 OS복구 <그림-1> swap & dump 사이즈 권장 용량
  • 61. 61 ZFS Cache사용 • ZFS 는 기본적으로 캐쉬메모리를 시스템의 메모리를 사용하며 IO가 많을시 많게는 시스템 전체 1GB를 뺀 나머지값을 대체캐시로 사용하게됨.(4GB미만은 75%) • 메모리 점유해 사용시 기타 Applicatiuon의 요청이 있을시 반납을 하는 구조로 되어는 있지만 관제나 snmp를 사용한 모니터링을 하는 고객사에서는 메모리 사용에 대한 경고치가 나올수가 있다. • 이는 파라미터를 사용해서 수정이 가능하며 3GB까지 설정하도록 한다. - /etc/system파일에 적용 – 재부팅 필요 root@test119 # kstat zfs:0:arcstats:c_max module: zfs instance: 0 name: arcstats class: misc c_max 1195026432 root@test119 # echo "::memstat" | mdb -k Page Summary Pages MB %Tot ------------ ---------------- ---------------- ---- Kernel 351323 2744 34% ZFS File Data 260898 2038 25% Free (cachelist) 57093 446 6% Free (freelist) 269312 2104 26% Total 1028200 8032 Physical 1025148 8008 ZFS 캐쉬메모리 확인 4. ZFS(Zettabyte File System) • zfs 사용 – ZFS 기타 속성 변경(파라미터 등) # vi /etc/system– 안에 추가 set zfs:zfs_arc_max=3221225472 # init6 캐쉬사이즈 지정 – 3G
  • 62. 62 Oracle DB & Storage • ZFS 는 파일시스템을 생성시 기본적으로 Block Size(recordsize)를 128K를 사용한다. • Oracle DB사용시에는 init.ora파일에 명시되어 있는 db_block_size는 일반적으로 8192(8K)를 사용한다. • Oracle DB의 archive log용으로 사용하는 filesystem에서는 compression과 logbias설정을 지정하도록한다. • ZFS 파일시스템을 DB Data를 사용하거나 일반적으로 DB Data를 사용하지 않더라도 작은 파일이 다수 존재 할때에는 ZFS 생성시 recordsize를 변경해주는 것이 좋다. # zfscreate-o recordsize=8k-o mountpoint=/my_db_path/data dbpool/dataZFS 생성시 recordsize지정 4. ZFS(Zettabyte File System) • zfs 사용 – ZFS 기타 속성 변경(파라미터 등) # vi /etc/system– 안에 추가 set ssd:ssd_max_throttle=20 set zfs:zfs_vdev_max_pending=20 # init6 파라미터 설정 • 히다찌 EMC등 스토리지 사용시 Queue Depth관련된 파라미터를 수정하여야한다. – lun갯수가 많을 경우… 스토리지와 협의후 진행. • 스토리지와 연결된 채널(port)에 queue값이 full이 차서 TOV(Time out Value)가 걸려 link가 끊어지는 증상이 있을수 있다 • 솔라리스의 기본값은 256이다.  파라미터 값 주의 set ssd:ssd_max_throttle=20 -> 이부분의 파라미터는 EMC Powerpath(Path이중화솔루션) 설치시 system파일에 자동으로 들어가게 되어 있다. 파일에 작성시 확인하고 중복으로 들어가지 않게끔 한다.
  • 63. Unified Archive Solaris11.2 & 11.3 unified archive
  • 64. 64 Unified archive • Solaris11.2 release부터 사용되는 Unified Archive는 Oracle Solaris에 새로 도입된 고유 아카이브 유형 • Unified Archive를 사용하면 여러 시스템 인스턴스를 하나의 통합된 파일 형식으로 아카이브할 수 있고 단일 호스트에서 하나 이상의 아카이브된 Oracle Solaris 인스턴스를 포함할 수 있습니다. 아카이브를 만드는 동안 포함할 설치된 영역을 개별적으로 선택할수 있다. • Solaris10에서 사용하는 flash archive와 유사하지만 kernel zone에 대한 archvie및 배포가 가능여 클라우드 환경에서는 더욱 유연하게 사용할수 있다. 4. ZFS(Zettabyte File System) • OS 복구용 & 복제용 archive 솔루션 - unified archive <그림-1> unifired archive를 사용하여 시스템 설치 • 해당 그림-1은 한대의 physical 서버에 solaris OS를 설치한 후 기본 설정 (FTP,ssh,ttelnet)표준 파라미터(ZFS cache, ulimit,buffer)설정, profile설정, 표준 OS보안설정작업, 기본 package설치를 한후에 unified archive image & media를 생성 하여 해당 미디어로 phsical(Control Domain) , 가상화(IO domain, guest domain)에 설치하는 것을 나타낸다. • 해당 방법으로 모든 OS설치 및 설정작업에 대한 공수와 시간을 단축할수 있으며, 해당방법으로 zone을 생성하여 배포하여 사용할수있다. • 장비처음 구매시 factory default된 OS가 unified archive로 설치된 것이다.
  • 65. 65 복제 모드 • 활성부트(BE) - # beadm list시 NR로 표기된 BE)만으로 아카이브를 생성한다. • 정의된 이미지를 신속하게 만들고 배포할 목적으로 만든다. • 이전페이지의 다수의 시스템 설치시 해당 방법을 사용하였다. • 아카이브를 생성하는 명령어인 # archiveadm의 기본모드이다. – 옵션없이 사용하였을경우…. • OS 인스턴스의 시스템 구성 정보와 SSH 키/암호와 같은 중요한 데이터를 포함하지 않는다 hostname도 포함하지 않아 설치시에 hostname 및 Network정보 기본 언어는 설정하며 설치가 진행이 된다. 4. ZFS(Zettabyte File System) • OS 복구용 & 복제용 archive 솔루션 - unified archive 복구 모드 • 생성하는 시스템에서 모든 포함된 인스텀스 및 Boot envionment를 포함한다. - # beadm list 내의 모든 내용 포함 • 활성화된 BE외에 다른 BE로 부팅을 진행할수는 없다. 모든 BE를 포함하는 이유는 단지 중요 데이터 복구용(beadm mount로) 으로만 사용된다. • OS백업 / 복구시 사용한다.
  • 66. 66 Unified archive만들기 • Archiveadm명령어로 생성 및 관리를 할수 있다. • 해당 명령어는 반드시 IPS가 있어야 한다. ( pkg publisher) • 아래의 순서로 진행이 된다. ① # archiveadm create로 unified archive 이미지를 생성한다. - (-D 옵션으로 archive시 제외할 ZFS dataset(filesystem&volume)을 지정한다.) ② # archiveadm info로 확인한다. ③ # archiveadm create-media로 배포할때 사용할 media image를 만든다. (iso-4GB 미만, usb- 4GB이상) 4. ZFS(Zettabyte File System) • OS 복구용 & 복제용 archive 솔루션 - unified archive - 복제 root@install # archiveadmcreate-D rpool/backup /backup/sol11.uar --exclude-media Initializing Unified Archive creation resources... Unified Archive initialized: /backup/sol11.uar Logging to: /system/volatile/archive_log.1367 Executing dataset discovery... Dataset discovery complete Preparing archive system image... Beginning archive stream creation... Archive stream creation complete Beginning final archive assembly... Archive creation complete Unified archive 생성 root@install#archiveadmcreate-media-s /net/192.168.128.104/repoSolaris11/-f usb/backup/sol11.uar-o /backup/sol11.usb Initializing Unified Archive creation resources... Initiating media creation... Preparing build environment... Adding archive content... Image preparation complete. Creating USB image... Finalizing media image: /backup/sol11.usb Unified archive media 생성
  • 67. 67 Unified archive 배포 • 생성한 이미지를 LDOM의 가상화 OS에 설치하는 방법이다. • 해당 생성된 iso & USB이미지를 iso vdisk로 만들어 준후에 설치를 진행한다. 4. ZFS(Zettabyte File System) • OS 복구용 & 복제용 archive 솔루션 - unified archive – 복제 - 가상화 root@dong# ldm add-vdsdev /root/solaris11.usb os-dvd3@iso-vds root@dong# ldm ls -o disk NAME primary VDS NAME VOLUME OPTIONS MPGROUP DEVICE iso-vds os-dvd2 /root/sol11.usb test-vds-ctl test_os /dev/dsk/c0t500003958813FCA0d0s2 ----------------------------------------------------------------------------- NAME test DISK NAME VOLUME TOUT ID DEVICE SERVER MPGROUP osdisk test_os@test-vds-ctl 0 disk@0 primary vdisk_iso os@iso-vds 99 disk@99primary LDOM에서 설치
  • 68. 68 4. ZFS(Zettabyte File System) • OS 복구용 & 복제용 archive 솔루션 - unified archive – 복제 - 가상화 root@dong# telnet localhost 5000 {0} ok boot vdisk_iso - install Boot device: /virtual-devices@100/channel-devices@200/disk@63 File and args: - install SunOS Release 5.11 Version 11.2 64-bit Copyright (c) 1983, 2015, Oracle and/or its affiliates. All rights reserved. Configuring devices. Hostname: solaris Using the default install manifest for installation solaris console login: -> 절대 로그인 하면 안됨 Automated Installation started The progress of the Automated Installation will be output to the console Detailed logging is in the logfile at /system/volatile/install_log Press RETURN to get a login prompt at any time. 12:44:44 Install Log: /system/volatile/install_log 12:44:44 100% manifest-parser completed. 12:44:44 100% None 12:44:44 0% Preparing for Installation 생략------------------------------ 12:46:34 100% create-snapshot completed. 12:46:34 100% None 12:46:34 Automated Installation succeeded. 12:46:34 You may wish to reboot the system at this time. Automated Installation finished successfully The system can be rebooted now Please refer to the /system/volatile/install_log file for details After reboot it will be located at /var/log/install/install_log solaris console login: root Password: -> passworkd는 solaris 입력 root@solaris:~# reboot Unified archive 생성
  • 69. 69 4. ZFS(Zettabyte File System) • OS 복구용 & 복제용 archive 솔루션 - unified archive – 복제 - 가상화 Unified archive 배포 • 리부팅이 완료되면 자동으로 아래화면이 나올것이다. • 솔라리스11.2 처음 설치화면과 동일하다 . 그대로 진행하면 된다. – locale/extra package를 archive한 이미지라 locale 선택이 많아진것을 확인할수 있다.
  • 70. 70 Unified archive 배포 • 생성한 이미지를 physical한 서버에 OS 설치하는 방법이다. • 4GB미만일 경우에는 DVD로 레코딩하여 그대로 설치진행하면 되고 이상일 경우 usb로 설치하는 방법에 대해 설명한다. 4. ZFS(Zettabyte File System) • OS 복구용 & 복제용 archive 솔루션 - unified archive – physical root@dong:~# svcadmdisable-t hal root@dong:~# ls -rtl /backup total 63371565 -rw-r--r-- 1 root root 4392299520 Jul 31 19:23 solaris11.usb -rw-r--r-- 1 root root 12157347840 Jul 31 19:35 solaris11.uar -r--r--r-- 1 root root 15874790400 Jul 31 19:54 recover_solaris11.usb root@dong:~# rmformat Looking for devices... 1. Logical Node: /dev/rdsk/c2t0d0s2 Physical Node: /pci@8000/pci@4/pci@0/pci@2/pci@0/usb@4,1/storage@2/disk@0,0 Connected Device: General USB Flash Disk 1100 Device Type: Removable Bus: USB Size: 15.5 GB Label: <None> Access permissions: Medium is not write protected. root@dong:~# dd if=/backup/solaris11.usbof=/dev/rdsk/c2t0d0s2bs=16k 268084+1 records in 268084+1 records out root@dong:~# df –h Filesystem Size Used Available Capacity Mounted on /dev/dsk/c2t0d0s2:1 15G 5.7G 9.5G 38% /media/NO NAME Usb 부팅용 메모리에 copy
  • 71. 71 4. ZFS(Zettabyte File System) • OS 복구용 & 복제용 archive 솔루션 - unified archive – physical {0} ok probe-usb-all {0} ok boot /pci@8000/pci@4/pci@0/pci@2/pci@0/usb@4,1/storage@2/disk - install Boot device: /pci@8000/pci@4/pci@0/pci@2/pci@0/usb@4,1/storage@2/disk File and args: - install SunOS Release 5.11 Version 11.2 64-bit Configuring devices. Hostname: solaris Using the default install manifest for installation solaris console login: Automated Installation started The progress of the Automated Installation will be output to the console 11:41:46 Install Log: /system/volatile/install_log 11:41:46 0% Preparing for Installation 11:41:46 1% Preparing for Installation 생략 ------------------------------ 11:44:45 100% create-snapshot completed. 11:44:45 100% None 11:44:45 Automated Installation succeeded. Automated Installation finished successfully The system can be rebooted now Please refer to the /system/volatile/install_log file for details After reboot it will be located at /var/log/install/install_log solaris console login: root Password: 11:44:43 98% transfer-ai-files completed. 11:44:44 98% cleanup-archive-install completed. 11:44:45 100% create-snapshot completed. 11:44:45 100% None 11:44:45 Automated Installation succeeded. 11:44:45 You may wish to reboot the system at this time. Automated Installation finished successfully The system can be rebooted now solaris console login: root Password: ->passworkd는 solaris 입력 Usb 메모리로 설치 설치방법은 동일…
  • 72. 72 4. ZFS(Zettabyte File System) • OS 복구용 & 복제용 archive 솔루션 - unified archive – 복구모드 root@dong:~# archiveadmcreate-D rpool/backup-D rpool/repo -r /backup/solaris11.uar--exclude-media root@dong:~# archiveadmcreate-media-s /repoSolaris11/-f usb/backup/solaris11.uar -o /backup/recover_solaris11.usb --설치후 root@dong:~# pwd /root root@dong:~# more /etc/hosts ::1 localhost 127.0.0.1 localhost 192.168.128.101 dong dong. loghost root@dong:~# beadm list BE Flags Mountpoint Space Policy Created -- ----- ---------- ----- ------ ------- SRU12 - - 14.60G static2015-08-0117:00 SRU12-recovery NR / 233.37Mstatic2015-08-0117:05 solaris - - 10.45M static 2015-08-0117:06 solaris-u1_orig - - 60.0K static2015-08-0117:05 복구모드는 archiveadm시 –r 옵션만 추가해주면 된다. Unified archive 복구모드 • 복구모드는 생성시 –r 옵션만 추가해 주면 된다. • 이전페이지의 설명대로 복구모드는 있는그대로 시스템의 전반적인 인스턴스를 모두 아카이브하기때문에 설치후에도 동일하게 적용된다.
  • 74. 74 Hostname변경 • Solaris11에서는 hostname이라는 명령어로 바로 현재에서는 바로 바꿀수가 있지만 재부팅후에도 적용하기 위해서는 SMF속성을 변경해주어야 한다. root@Donghwa:~# svccfg -s system/identity:node listprop config config application config/enable_mapping boolean true config/ignore_dhcp_hostname boolean false config/nodename astring Donghwa config/loopback astring Donghwa root@Donghwa:~# svccfg -s system/identity:node setprop config/nodename=dong root@Donghwa:~# svccfg -s system/identity:node setprop config/loopback=dong root@Donghwa:~# svccfg -s system/identity:node refresh root@Donghwa:~# svcadmrestartsystem/identity:node root@Donghwa:~# svccfg -s system/identity:node listprop config config application config/enable_mapping boolean true config/ignore_dhcp_hostname boolean false config/nodename astring dong config/loopback astring dong root@Donghwa:~# hostname dong Hostname변경 Donghwa를 dong으로 변경 6. 기타설정관련 • Solaris11 hostname 변경
  • 75. 75 TCP파라미터 • Solaris11서버를 web이나 WAS서버로 사용할 경우 해당 TCP관련 파라미터의 바뀐부분을 나열한다. • 기존의 ndd명령어로 수정하고 /etc/rc2.d에 스크립트를 작성하여 했던 부분이 바뀐 tcp매개변수 이름을 사용하여 ipadm 명령어로 수정이 가능하다. 6. 기타설정관련 • Solaris11 TCP 파라미터 변경 이전 TCP 매개변수 이름 TCP 등록 정보 이름 tcp_deferred_ack_interval _deferred_ack_interval tcp_local_dack_interval _local_dack_interval tcp_deferred_acks_max _deferred_acks_max tcp_local_dacks_max _local_dacks_max tcp_wscale_always _wscale_always tcp_tstamp_always _tstamp_always tcp_xmit_hiwat send_buf tcp_recv_hiwat recv_buf tcp_max_buf max_buf tcp_cwnd_max _cwnd_max tcp_slow_start_initial _slow_start_initial tcp_slow_start_after_idle _slow_start_after_idle tcp_sack_permitted sack tcp_rev_src_routes _rev_src_routes tcp_time_wait_interval _time_wait_interval tcp_ecn_permitted ecn tcp_conn_req_max_q _conn_req_max_q tcp_conn_req_max_q0 _conn_req_max_q0 tcp_conn_req_min _conn_req_min tcp_rst_sent_rate_enabled _rst_sent_rate_enabled tcp_rst_sent_rate _rst_sent_rate tcp_keepalive_interval _keepalive_interval tcp_ip_abort_interval _ip_abort_interval tcp_rexmit_interval_initial _rexmit_interval_initial tcp_rexmit_interval_max _rexmit_interval_max tcp_rexmit_interval_min _rexmit_interval_min tcp_rexmit_interval_extra _rexmit_interval_extra tcp_tstamp_if_wscale _tstamp_if_wscale tcp_recv_hiwat_minmss _recv_hiwat_minmss <표-1> 이전에 사용하던 TCP 매개병수와 Solaris11에서 사용하는 매개변수 map
  • 76. 76 TCP파라미터 • Solaris11서버를 web이나 WAS서버로 사용할 경우 해당 TCP관련 파라미터의 바뀐부분을 나열한다. • 기존의 ndd명령어로 수정하고 /etc/rc2.d에 스크립트를 작성하여 했던 부분이 바뀐 tcp매개변수 이름을 사용하여 ipadm 명령어로 수정이 가능하다. 6. 기타설정관련 • Solaris11 TCP 파라미터 변경 root@Donghwa:~# ipadm show-prop -p _time_wait_intervaltcp PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE tcp _time_wait_interval rw 60000 -- 60000 1000-600000 root@Donghwa:~# ipadm set-prop-p _time_wait_interval=40000tcp root@Donghwa:~# ipadm show-prop -p _time_wait_intervaltcp PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE tcp _time_wait_interval rw 40000 40000 60000 1000-600000 TCP파라미터 변경
  • 77. 77 Dns클라이언트 설정 • Solaris11에서는 /etc/resolv.conf를 사용하지 않고 SMF속성을 변경하여 DNS클라이언트를 구성하는 방법과 기존방식을 사요하되 import하여 사용하는 방법인 있다.. 6. 기타설정관련 • Solaris11 DNS client설정 # svccfg-s dns/client setprop config/nameserver=(168.126.63.1) setprop config/search=("isve.oracle.com""oracle.com") # svcadmenabledns/client # svcadmrestartdns/client # svccfg-s name-service/switch setprop config/default=files setprop config/host=files dns" setprop config/ipnode=astring="files dns“ # svcadmrefreshname-service/switch # svcadmrestartname-service/switch DNS Client구성 DNS Client vi /etc/nsswitch.conf vi /etc/resolv.conf -> nameserver추가 # nscfg import -f name-service/switch:default # nscfg import -f dns/client:default resolv.conf 사용방법
  • 78. 78 Solaris11 FTP설정 • Solaris11에서는 proftp를 사용하며 root해제및 사용법은 아래와 같다. 6. 기타설정관련 • Solaris11 ftp설정 # vi /etc/proftpd.conf Rootlogiun no  Rootloginyes로변경 # vi /etc/ftpd/ftpusers Root -> 주석처리 # svcadmenableftp # svcadmrestartftp DNS Client구성  SMF ftp mainterance mode해제 Ftp사용 Port등 아무 이상이 없는데 SMF에서 ftp서비스가 mainterance에 빠져 서비스가 안되는 경우 /etc/hosts파일에 현재 설정된 IP와 hostname이 맵핑이 안되어 있을때 나타날수 있다. 이때 /etc/hosts파일을 맞게 설정후 # svcadm clear ftp 를 하면 정상적으로 enable이 될것이다.
  • 79. 79 Solaris11 User • Soalris11 부터 useradd로 사용자 추가시 zfs dataset생성 • 생성하는 곳의 단순 디렉토리가 아닌 dataset = filesystem • Solaris11 사용시 미리 고객에게 설명후 백업정책 추가 필요 -> 파이시스템 단위로 백업을 받는 백업솔루션에 정책 추가 6. 기타설정관련 • Solaris11 User management root@dong1:~#useradd -m -d /export/home/dong-s /bin/bashdong 80 blocks root@dong1:~#zfslist| grep export rpool/export 139K 2.71G 32K /export rpool/export/home 89K 2.71G 34K /export/home rpool/export/home/dong 35K 2.71G 35K /export/home/dong root@dong1:~#df -h | grep export rpool/export 9.5G 32K 2.7G 1% /export rpool/export/home 9.5G 34K 2.7G 1% /export/home rpool/export/home/dong 9.5G 35K 2.7G 1% /export/home/dong User create시 편법 위방식을 사용하지 않기 위해서는 mkdir로 먼저 홈디렉토리를 만들어 놓을 수도 있다..
  • 80. 80 Solaris11 User 6. 기타설정관련 • Solaris11 User management root:x:0:0:Super-User:/root:/usr/bin/bash daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:Admin:/var/adm: lp:x:71:8:LinePrinterAdmin:/: uucp:x:5:5:uucpAdmin:/usr/lib/uucp: nuucp:x:9:9:uucpAdmin:/var/spool/uucppublic:/usr/lib/uucp/uucico dladm:x:15:65:DatalinkAdmin:/: netadm:x:16:65:NetworkAdmin:/: netcfg:x:17:65:NetworkConfigurationAdmin:/: smmsp:x:25:25:SendMailMessageSubmissionProgram:/: gdm:x:50:50:GDMReservedUID:/var/lib/gdm: zfssnap:x:51:12:ZFSAutomaticSnapshotsReservedUID:/:/usr/bin/pfsh upnp:x:52:52:UPnPServerReservedUID:/var/coherence:/bin/ksh xvm:x:60:60:xVMUser:/: mysql:x:70:70:MySQLReservedUID:/: openldap:x:75:75:OpenLDAPUser:/: webservd:x:80:80:WebServerReservedUID:/: postgres:x:90:90:PostgreSQLReservedUID:/:/usr/bin/pfksh svctag:x:95:12:ServiceTagUID:/: unknown:x:96:96:UnknownRemoteUID:/: nobody:x:60001:60001:NFSAnonymousAccessUser:/: noaccess:x:60002:60002:NoAccessUser:/: nobody4:x:65534:65534:SunOS4.xNFSAnonymousAccessUser:/: ikeuser:x:67:12:IKEAdmin:/: aiuser:x:61:61:AIUser:/: ftp:x:21:21:FTPDReservedUID:/: dhcpserv:x:18:65:DHCPConfigurationAdmin:/: pkg5srv:x:97:97:pkg(5)serverUID:/: /etc/passwd • Soalris11에서 기본으로 있는 사용자와 그에 대한 설명이다. 필수로 있어야 할 User들이지만 표시가 없는 user들도 SRU업그레이드 시에는 모두 있어야 한다.
  • 81. 81 Solaris11 User List(기본) 6. 기타설정관련 • Solaris11 User management 사용자 이름 사용자ID 설명 패키지 root 0 수퍼 유저 계정용으로 예약 system/core-os daemon 1 루틴 시스템 작업과 연관된 우산형 시스템 데몬 system/core-os bin 2 루틴 시스템 작업을 수행하기 위해 실행 중인 시스템 바이너리와 연관된 관리 데몬 system/core-os sys 3 시스템 로깅 또는 임시 디렉토리의 파일 업데이트와 연관된 관리 데몬 system/core-os adm 4 시스템 로깅과 연관된 관리 데몬 system/core-os lp 71 라인 프린터 데몬용으로 예약 system/core-os uucp 5 uucp 함수와 연관된 데몬에 지정 system/core-os nuucp 9 uucp 함수와 연관된 또 다른 데몬에 지정 system/core-os dladm 15 데이터 링크 관리용으로 예약 system/core-os netadm 16 네트워크 관리용으로 예약 system/core-os netcfg 17 네트워크 구성 관리용으로 예약 system/core-os smmsp 25 Sendmail 메시지 제출 프로그램 데몬에 지정 system/core-os gdm 50 GNOME Display Manager 데몬에 지정 system/core-os zfssnap 51 자동 스냅샷용으로 예약 system/core-os upnp 52 UPnP 서버용으로 예약 system/core-os xvm 60 xVM 사용자용으로 예약 system/core-os mysql 70 MySQL 사용자용으로 예약 system/core-os openldap 75 OpenLDAP 사용자용으로 예약 library/ldap webservd 80 WebServer 액세스용으로 예약 system/core-os postgres 90 PostgresSQL 액세스용으로 예약 system/core-os svctag 95 서비스 태그 레지스트리 액세스용으로 예약 system/core-os unknown 96 NFSv4 ACL의 매핑할 수 없는 원격 사용자용으로 예약 system/core-os nobody 60001 NFS 익명 액세스 사용자용으로 예약 system/core-os noaccess 60002 액세스 권한 없음 사용자용으로 예약 system/core-os nobody4 65534 SunOS 4.x NFS 익명 액세스 사용자용으로 예약 system/core-os ikeuser 67 IKE(Internet Key Exchange) 액세스용으로 예약 system/network/ike ftp 21 FTP 액세스용으로 예약 service/network/ftp dhcpserv 18 DHCP 서버 사용자용으로 예약 service/network/dhcp/isc-dhcp aiuser 60003 AI 사용자용으로 예약 system/install/autoinstall/ pkg5srv 97 pkg(5) 저장소 서버용으로 예약 auto-install-common package/p kg
  • 82. 82 Solaris11 언어 • Solaris11.2부터는 설치시 기본언어를 지정할수가 있으며 UTF-8이 기본이다. • 기본언어를 변경하려면 우선 EUC관련 pkg를 설치를 하고, 언어를 바꾸어 주어야 한다. • 언어 패키지는 설치하되, 수정하는 방법은 solairs10까지는 /etc/default/init에서 LANG변수를 바꾸어 주었지만 Solaris11에서는 /etc/default/init파일이 read-only이다. • 만약 수동으로 수정을 하더라도 rebooting하게되면 원래 설정으로 돌아 오게 된다. – SMF에서 관리 되기때문… • 기본언어 변경시에는 svccfg로 SMF에서 바꾸어 주어야 한다. 6. 기타설정관련 • System Language Change root@dong1:~# pkg install pkg:/system/locale/extra언어 Pack 설치 root@solaris:~# svccfg-s svc:/system/environment:init listprop environment/LANG environment/LANG astring ko_KR.UTF-8 root@solaris:~# svccfg-s svc:/system/environment:init setprop environment/LANG= astring: C root@solaris:~# svccfg-s svc:/system/environment:init listprop environment/LANG environment/LANG astring C root@solaris:~# svcadm refreshsvc:/system/environment:init 기본언어 변경 (kd(UTF-8에서 C로 변경)
  • 83. 83 Solaris11 GUI • Solaris11을 text로 설치하면 solaris-large-server로 설치가되며 기본적으로 GUI화면을 제공하지 않는다. • 보통 GUI를 사용할 일이 없지만 Oracle 설치시에는 Installer와 dbca 는 그래픽으로 진행하게 되어 GUI를 사용할수있게 해주어야 한다 • ssh를 사용한 X-optuon(x11) XMING을 이용한 방법이 있지만 현재 저 포함 엔지니어들이 Xmanager를 가장 많이 사용하므로 간단한 방법으로. GUI모드를 자주 사용하거나 고객이 사용하는 xmanager 라이센스가 없으면 정식으로 solaris-gui-toi solaris-desktop을 설치하시기 바랍니다. 6. 기타설정관련 • DB설치시 X-window띄우는 법 root@dong1:~# pkg install --require-new-be--be-name solaris-gui solaris-desktop필요시에 GUI Desktop설치시 X-manager - passive 테스트를 위해 xclock설치 root@dong1:~# pkg install xclock 변수 설정후 테스트 root@dong1:~# su – oracle [oracle@/oracle]$ who am i root pts/1 Mar 24 07:19 (192.168.56.1) [oracle@/oracle]$ exportDISPLAY=192.168.56.1:0.0 [oracle@/oracle]$ exportAWT_TOOLKIT=XToolkit [oracle@/oracle]$ xclock Xclock나오는 것 확인 후 DB runInstaller 시작