BLOG ARTICLE Unix | 3 ARTICLE FOUND

  1. 2011.05.03 Veritas Volume Manager 활용하기!!!
  2. 2011.04.01 Admin Command
  3. 2011.03.11 Solaris10 기본 환경 설정하기!!!

[ Disk 의 슬라이스 하나를 이용하여 rootdg를 생성 ]
volume을 만들기 전 disk에 10M정도의 용량을 준비한다.
volume manager 설치 전 OS와 array에 맞는 패치를 먼저 해준다. (sunsolve.sun.com)

1. Volume Manager software를 설치한다.

2. Volume Manager License를 확인한다.

3. vxconfigd를 disable mode로 시작시킨다.
   # vxconfigd -d   or   # vxconfigd -m disable

4. vxconfigd mode를 확인한다.
   # vxdctl mode

5. /etc/vx/volboot 파일을 초기화한다.
   volboot 파일에는 Host-name과 rootdg에 속한 disk의 list가 들어있고
   아래 명령어는 
새로운 host-name과 비어있는 disk list를 구성한다.
   # vxdctl init

6. License를 입력한다. license 하나당 다음 명령을 하나씩 수행한다.
   # vxlicense -c baselicense (/etc/vx/elm 에 저장)
   # vxlicense -c raid5license
   # vxlicense -p (license를 display)

7. rootdg를 만든다.
   # vxdg init rootdg
   # vxdg list

8. /etc/vx/volboot 파일에 disk를 추가한다. 슬라이스가 하나만 있으므로 simple type으로 등록
   # vxdctl add disk c0t0d0s7 type=simple (vi로 편집하면 안됨)
   vxvm:vxdctl WARNING:Device c0t0d0s7:Not currently in the Configuration
   (error가 나와야 정상, rootdg는 뒤에서 10번에서 만들므로 error가 뜬다. 경고메세지는 무시)

9. 슬라이스 영역에 헤더를 인스톨한다.
   # vxdisk -f init c0t0d0s7 type=simple
   (init을 해주면 private(3번)영역 생성)

10. disk를 rootdg에 추가한다.
   # vxdg adddisk c0t0d0s7
   # vi /etc/vfstab
    (c0t0d0s7을 주석처리한다.)

11. 부팅시 Volume Manager starting을 막는 install-db 파일을 삭제
   # rm /etc/vx/reconfig.d/state.d/install-db

12. vxconfigd를 실행한다.
   # vxdctl enable (/etc/vx/volboot에 저장된 volume정보를 가져옴)

13. 재부팅을 진행하고
부팅시 VxVM starting on boot mode.. 가 떠야 정상
   ※ <rootdg 손상시> error 발생시 3번에서 daemon 죽이고 6,7번 skip하고 다시 진행


[ Veritas Volume Manager 설치 및 환경설정 ]

- Veritas Volume Manager 설치 -


1. Volume Manager를 설치

2. patch install

3. rootdg 생성
   vxinstall (disk를 통째로 rootdg로 사용, OS mirror 시만 사용)
   command line에서 수동생성 (slice 단위로 rootdg에 포함)

4. disk initialization
   1) initialization : data 모두 삭제. disk를 초기화
   2) encapsulation : data가 있을 경우 사용 (OS mirror시 사용, 빈슬라이스 2개 존재. 1실린더 1개 이상 필요)

5. 일반 disk group 생성
   동일한 disk group은 생성 불가

6. volume 생성

7. file system 생성

8. mount


- Veritas Volume Manager 환경설정 -
1. PATH/MANPATH/LD_LIBRARY_PATH 설정
# vi .profile
=================================================================================================================
 stty erase ^?
 PS1=`uname -n`' $PWD#'
 PATH=/usr/sbin:/usr/bin:usr/dt/bin:/usr/openwin/bin:/etc/vx/bin:/opt/VRTSvmsa/bin:/usr/lib/vxvm/bin:
          /opt/VRTSvxfs/sbin:
/usr/lib/fs/vxfs:/opt/SUNWcluster/bin          //편의성을 위해 줄바꿈 하였어요 이어서 쓰세요.
 MANPATH=/usr/share/man:/usr/local/man:/opt/VRTS/man
 ENV=~/.kshrc

 export MANPATH PATH EDITOR PS1 ENV
================================================================================================================= 


 [ Veritas Volume Manager 사용법 ]

- Volume 이란? -
  OS 영역

 

 

 

 

 

uninitialization 영역

 

 

 

 

물리disk

 

 

 

free disk pool 영역

 

 

 

 

 

 

 

 

VMdisk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

free

disk영역

 

 

 

 

 

 

 

 

 

3

 

3

 

 

 

 

물리disk

 

 

 

4

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[ Volume Disk 생성/삭제 ]
1)
# vxdisksetup -i Disk_Name(c?t?d?)
     -
physical disk를 volume manager가 인식 가능(free disk pool 영역)한 disk 로 생성

2) # vxdiskunsetup -C Disk_Name(c?t?d?)
     - volume manager에서 인식된 디스크를 물리적인 인식이 되도록 volume disk 정보를 삭제


[ Volume Group 생성/삭제 ]

1)
# vxdg init Disk_Group_Name Alias_Name=c?t?d? ... ...
    - "
Disk_Group_Name" 에 볼륨그룹의 이름을 넣고, "Alias_Name=c?t?d?" 에 볼륨disk도 Alias 화 시켜서 해당 그룹에
         넣어주며 볼륨 그룹을 생성한다. 복수도 가능.(ex : disk01=c?t?d?, disk02=c?t?d? ...)
         ※ 단, 그룹을 생성하는 경우는 적어도 1개 이상의 볼륨 disk를 넣어야 함

2) # vxdg destroy Disk_Group_Name
    - "
Disk_Group_Name" 에 볼륨그룹의 이름을 가진 그룹을 삭제
         ※ 단, 그룹을 삭제하는 경우는 그룹내 포함된 볼륨 disk가 1개가 있는 상태에서 하는 것을 권장함


[ Volume Group Disk 추가/제거 ]
1)
# vxdg -g Disk_Group_Name adddisk Alias_Name=c?t?d? ... ...
    - "Disk_Group_Name" 에 볼륨그룹내 "Alias_Name=c?t?d?" 라는 볼륨disk를 Alias화 시켜 디스크를 추가
        복수도 가능.(ex : disk01=c?t?d?, disk02=c?t?d? ...)
         ※ 단, "-g" 옵션으로 group을 지정하지 않으면 default로 rootdg에 생성되므로 주의

2) # vxdg -g Disk_Group_Name rmdisk Alias_Name ... ...
    - "Disk_Group_Name" 에 볼륨그룹내 "Alias_Name" 라는 볼륨disk를 제거
        복수도 가능.(ex : disk01, disk02 ...)
         ※ 단, 그룹내
마지막 disk는 빠지지 않으니 vxdg destroy 를 이용한다


[ Volume 생성/삭제 ]
1) # vxassist -g Disk_Group_Name make Volume_Name 100m layout=raid5 Alias_Name ... ...
    - "Disk_Group_Name" 에 볼륨그룹내 "Volume_Name" 라는 볼륨을 100m 라는 용랑으로 raid5 형식으로 생성
         ※ 단, 용량을 설정하지 않으면 블럭단위로 생성되며, 1block = 512byte / layout 생략시 default로 concat가 생성.
             또한, raid5 의 경우 layout 부분에 "nolog" 를 입력하지 않으면 기본적으로 로그 디스크를 생성하게 된다.

2) # vxedit -g Disk_Group_Name -rf rm Volume_Name
    - "Disk_Group_Name" 에 볼륨그룹내 "Volume_Name" 라는 볼륨을 삭제
         ※ 단, 
삭제시에는 volume 삭제 -> diskgroup 삭제 -> disk초기화 순 진행


[ Volume 구성정보 확인 ]
1) # vxdisk list
    - Volume Disk 와 Disk_Group_Name 구성 정보를 출력
2) # vxdisk -o alldgs list
    - deport 된 Volume Disk 와 Disk_Group_Name 까지 출력시켜 줌
3) # vxdg list
    - Disk_Group_Name 을 출력
4) # vxprint -ht
    - Disk_Group_Name 과 Volume_Name 까지 함께 출력


[ File System 생성 및 마운트 ]
1) # newfs /dev/vx/rdsk/Disk_Group_Name/Volume_Name
    - 구성된 볼륨을 포맷하여 마운트될 수 있도록 파일 시스템을 생성

2) # mount /dev/vx/dsk/Disk_Group_Name/Volume_Name /mount_point
    - 파일 시스템으로 생성된 볼륨을 MountPoint 에 마운트하여 사용




[ Veritas Volume Manager Tip & Tech ]

<Disk_Group 소유권 설정>

1) # vxdg deport Disk_Group_Name 
    - Disk_Group_Name 의 소유권 포기

2) # vxdg import Disk_Group_Name 
    - Disk_Group_Name 의 소유권 적용

3) # vxrecover -g Disk_Group_Name -s
    - 2번에서 적용된 Disk_Group_Name 에 대한 파일시스템 동작 가능하게 세팅


<Volume  동작 설정>
1) # vxvol stop Volume_Name
    - "Volume_Name" 을 가진 볼륨의 동작을 정지

2) # vxvol stopall
    - 모든 볼륨의 동작을 정지

3) # vxvol start Volume_Name
    - "Volume_Name" 을 가진 볼륨의 동작을 시작

4) # vxvol startall
    - 모든 볼륨의 동작을 시작
        ※ 단, 디스크의 volume enable 이 되어야 하며 raid1+0인 경우 sub volume 부터 init 해야함


<볼륨 구성 후 남은 디스크 용량 확인>
1) # vxassist -g Disk_Group_Name maxsize layout=raid5 Alias_Name ... ...
       ex. "Maximum volume size : 68614144(33503Mb)"

    - Disk_Group_Name 에 대한 Alias 로 정의된 파일시스템들을 raid5 형식으로 만들때 사용가능량 용량 출력
        단, vol 생성은 하지 않고 확인만 가능하며, 예제와 같은 형식으로 출력

2) # vxdg -g Disk_Group_Name free
    - Disk_Group_Name 의 그룹이 가지는 free space 확인(block단위로 출력)

3) # vxassist -g Disk_Group_Name maxgrow Volume_Name 
    - Disk_Group_Name 의 그룹이 가지는 Volume_Name 의 볼륨이 확장 가능한 최대 크기 출력


<Volume name 변경>
1) # vxedit rename old_Volume_Name new_Volume_Name
    - "old_Volume_Name" 의 명칭을 가지는 볼륨을 "new_Volume_Name" 명칭의 볼륨으로 변경
        ※ "old_Volume_Name" 의 경우 Disk명칭(c?t?d?), Volume_Name, SubDisk_Name 등이 올 수 있다.


<Volume 크기 변경>

1) # vxassist -g Disk_Group_Name resize 
    - "old_Volume_Name" 의 명칭을 가지는 볼륨을 "new_Volume_Name" 명칭의 볼륨으로 변경

2) # vxassist growto Volume_Name 100m 
    - "Volume_Name" 명칭의 볼륨 크기를 100m 만큼 추가

3) # vxassist growby Volume_Name 100m 
    - "Volume_Name" 명칭의 볼륨 크기를 100m 만큼 되도록 현재 용량에서 증가


<Volume 정보 변경>
1) # vxedit -g Disk_Group_Name set user=oracle group=dba mode=660 Volume_Name
    - "Disk_Group_Name" 그룹내 "Volume_Name" 의 볼륨에 대해 아래 사항으로 변경
         a. user : 소유주 변경 (oracle 소유주로 변경)
         b. group : 그룹 변경 (dba 그룹으로 변경)
         c. mode : 퍼미션 변경 (660 퍼미션으로 변경)
         ※ 단, 볼륨의 정보를 변경시 "chown, chgrp, chmod" 명령어를 이용하게 되면 리부팅 후 값이 초기화됨


<Volume Log 설정>
1) # vxassist -g Disk_Group_Name addlog Volume_Name Log_Disk_Name
    - "Disk_Group_Name" 그룹내 "Volume_Name" 의 볼륨에 대해 "Log_Disk_Name" 으로 로그 디스크를 추가

2) # vxassist -g Disk_Group_Name remove log Volume_Name
    - "Disk_Group_Name" 그룹내 "Volume_Name" 의 볼륨에 대해 로그 디스크를 삭제


<Hot spare disk 지정>
1) # vxedit set spare=on disk_name(c?t?d?)
    - "disk_name" 의 명칭을 가지는 디스크를 스페어 디스크로 등록

2) # vxedit set spare=off disk_name(c?t?d?)
    - "disk_name" 의 명칭을 가지는 디스크를 스페어 디스크로 등록을 해제

AND

Admin Command

Unix/Solaris 2011. 4. 1. 12:11
[ 현재 시스템의 Architecture를 확인 ]
# arch -k
   ▶Display The kernel architecture 

[ Inode 삭제 명령어 clrl ]
# clrl /dev/dsk/c0t1d0s7 231 
   ▶231 inode를 삭제 

[ Text파일에서 특정 문자 추출해내는 명령 cut ]
# cut -d":" -f1 /etc/passwd > /tmp/user 
   ▶passwd file에서 유저부분만 추출해서 /tmp/user 파일로 저장
# ypcat passwd | cut -d":" -f1 > /tmp/user 

[ Disk 사용량 계산 ]
# du -s
   ▶현재 및 SUB-dir까지의 전체 Disk사용량 (du:disk use) 
      = -k  : killo byte 단위로 확인 

[ Text file의 비교와 Directory간의 상이한 내용의 비교 ]
# diff /a /mnt
   ▶/a, /mnt directory 를 비교
# diff /a /b
   ▶/a, /b Text file 의 비교 

[ EEPROM의 내용을 명령행 에서 변경 ]
# /usr/sbin/eeprom
   ▶상태확인
# /usr/sbin/eeprom boot-device=disk3
   ▶값 변경 

[ File type을 확인 할때 ]
# file /etc/passwd 
   ▶/etc/passwd : 아스키 텍스트
# file core
core
   ▶ELF 32-비트 MSB 코어 파일 SPARC 버전 1, 원인수행 'sleep'
      = 이건 core file 이 왜 생성됬는지 보고 하고 있다. 

[ File or Directory 을 지울때 ]
# rm file_name
   ▶단일 파일을 지운다.
# rm -r /dir_name
   ▶디렉토리까지 전부 삭제한다.
# rm -i file_name
   ▶파일을 지우기 전에 한번 더 확인한다.
# rm 'file name'
   ▶중간에 공백이 있는 파일 지울때. 

[ File 검색을 위한 명령어 ]
# find ~ -name '*%' -print -exec rm {} \; 
   ▶home 디렉토리 '%'로 끝나는 화일 탐색하여 보여주면서 삭제 

   ※ find 옵션
      -atime n : n 일자까지 접근한 내역을 검색 
      -ctime n : n 일자까지 변경한 내역을 검색
      -mtime n : n 일자까지 수정한 내역을 검색
      -perm : 해당 되는 허가권 파일 검색 

[ Key input 제대로 안될 때 Remote에서 Key mode를 바꾼다. ]
# kbd_mode -a 

[ Process를 강제 종료 시킬때 ]
# kill pid
   ▶통상 process 종료 시킬때
# kill -9 pid
   ▶강제 종료 시킬때
# kill -HUP pid
   ▶process를 hangup
# kill -SEGV pid
   ▶process를 강제로 segmentation fault 시킬때 

[ Process관련 명령어 ]
/usr/proc/bin 의 Directory에 다수가 있다. 
   ※ proc tools
      - proc, pflags, pcred, pmap, pldd, psig, pstack, pfiles, pwdx, pstop, prun, pwait, ptree, ptime ... 

[ File list를 표시한다. ]
# ls -al
   ▶모든 file들을 long형태로 자세히 listing
# ls -ald
   ▶directory를 확인 할 때
# ls -li
   ▶inode number를 보고자 할 때 

[ NIS 의 기동 여부 확인 ]
# nisls -l
   ▶만일 서버가 다운되었다면 "NIS+ server unreachable" 같은 메시지가 뿌려진다.

[ 특정 Disk partition 의 자세한 정보 획득 ]
# prtvtoc /dev/rdsk/c0t0d0s0
   ▶volume Table 의 내용 볼 때 c0t0d0s0 slice에 대한 자세한 Information을 보여준다. 

[ 시스템의 상세 Configuration을 확인하는 명령어 ]
# prtconf
   ▶System Configuration을 보여준다.
# sysdef
   ▶Current system definition을 출력
# /usr/platform/`uname -i`/sbin/prtdiag
   ▶H/W 정보 (sol 2.6)
; Display system diagnostic information
; SUN 장비에만 적용되고 Axil등에서는 안됨. 

[ CPU를 Enable 또는 Disable ]
  ==psrinfo , psradm
# psrinfo [-v]
   ▶CPU 정보확인
# psradm -f 2 3 
   ▶2,3번 CPU를 off_line
# psradm -n 2 3 
   ▶2,3번 CPU를 on_line
      = 대형 서버 등에서 CPU 수를 제한하여 성능 test할 때 유용하다. 

[ /etc/shadow 파일의 update ]
# pwconv
   ▶/etc/shadow file 생성 및 modify 

[ 실행된 명령어들 Display ]
lastcomm 설정방법
# touch /var/adm/pacct
 ※보안유지가 필요한 곳이라면, 다른 DIR에 다른file_name으로 숨겨도 되지만 볼때는 반드시
    '/var/adm/pacct' 로 copy하여 놓은후 사용해야 함.
# cp /usr/lib/acct/accton /var/adm/pacct
# lastcomm 

[ Sytem Reconfiguration BOOT ]
# reboot -- -r
   ▶장치 인식을 위해 리부팅하는 옵션
    ※hot-swap 이 지원되는 장비의 경우는 '# devfsadm' 명령어로 가능하다.

[ rlogin 접속 ]
# rlogin -l hong basic
   ▶hong으로 basic시스템에 콘솔 접속 

[ Key-in을 위한 I/O setting ]
# stty -a
   ▶setting된 key 들을 보여준다
# stty erase ?임의의키?
   ▶erase 단축기능을 임의의 키로 바꿀 때. 

[ 현 유저소유의 비어있는 파일을 생성 시킨다. ]
# touch cream

[ process,가상메모리,디스크,cpu Monitoring 통계치를 보여준다 ]
# vmstat 1 100
   ▶1은 interval이고, 100은 count이다. 

[ 현재 접속 사용자에게 메시지를 뿌린다. ]
wall
   ▶write to all users --> /usr/sbin/wall [-a] [-g] [filename]
      - 기능 : Broadcast Message from ...
      - option : -a broadcast message to the console and pseudo-terminals.
      -g grpname broadcast to a specified group only.
# wall -a text_file
   ▶text_file의 내용이 터미널 에 뿌려진다. 

[ 접속 사용자 확인 명령어 ]
# who -a
   ▶접속상태 의 자세한 정보
# who -r
   ▶현재 RUN Level 확인 

[ 프레임 버퍼의 상태 변경 ]
# /usr/platform/'uname -i'/sbin/cg14config 

[ 시스템 log file 들 ]
/var/adm/utmp , /var/adm/utmpx
/var/adm/wtmp , /var/adm/wtmpx
/var/log/syslog
/var/adm/pacct
 ※ last 등의 명령어로 위 파일들의 내용을 볼 수 있는데, 유저의 사용상황은 계속 쌓이게 된다.
     그런이유로 위 파일이 비대해지면, zero파일로 만들어 줄 필요가 있으며 아래 방법을 참고.
       = #cp /dev/null utmp

[ C2 보안 레벨 이용 명령 ]
※ /etc/security/bsmconv , /etc/security/bsmunconv
   - 위의파일 이용하여 특정 호스트 및 유저의 활동상황을 감시할수 있다 


'Unix > Solaris' 카테고리의 다른 글

Solaris10 기본 환경 설정하기!!!  (0) 2011.03.11
AND

[ 자신의 개인적인 환경 설정 ]
 

1. login shell을 설정
# passwd -e
old shell : /sbin/sh
new shell : /bin/ksh  : 대부분의 solaris 관리자는 ksh을 사용


2. $HOME/.profile 생성 및 편집

  => solaris 에서 기본적으로 root(관리자)에게는 ".profile" 이 존재하지 않으므로 원형파일을 복사하여 사용 
# cp /etc/skel/local.profile $HOME/.profile
# vi $HOME/.profile : 프로파일을 생성 및 편집수정
==========================================================================================================================
# @(#)local.profile 1.8 99/03/26 SMI
stty istrip
ENV=/.kshrc
EDITOR=vi
PATH=/usr/local/bin:/usr/sadm/admin/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin:/usr/sbin:/sbin:/bin:/usr/bin:/usr/ucb:
/etc:.
MANPATH=/usr/share/man:/usr/dt/man:/usr/local/man/usr/openwin/share/man:/usr/man
export PATH ENV EDITOR DISPLAY MANPATH
#
# If possible, start the windows system
#
if [ "`tty`" = "/dev/console" ] ; then
         if [ "$TERM" = "sun" -o "$TERM" = "sun-color" -o "$TERM" = "AT386" ]
         then
                   if [ ${OPENWINHOME:-""} = "" ] ; then
                           OPENWINHOME=/usr/openwin
                           export OPENWINHOME
                   fi
         echo ""
         echo "Starting OpenWindows in 5 seconds (type Control-C to interrupt)"
         sleep 5
         echo ""
         $OPENWINHOME/bin/openwin
         clear # get rid of annoying cursor rectangle
         exit # logout after leaving windows system
 fi
==========================================================================================================================
# . $HOME/.profile : 수정한 프로파일을 실행


3. $HOME/.kshrc 생성 및 편집

# vi $HOME/.kshrc : 쉘 스크립트 생성 및 편집
==========================================================================================================================
PS1=[$LOGNAME@`hostname`:'$PWD]# ' <--- 쉘 변수 설정
export PS1 <--- 변수를 export한다.

set -o vi <--- korn shell을 설정한다.

alias ls='\ls -F' <--- alias을 설정한다.
alias ll='\ls -alF | more'
alias mv='\mv -i'
alias cp='\cp -i'
alias rm='\rm -i'
==========================================================================================================================
# ksh
# . $HOME/.kshrc : 쉘 스크립트 실행

위 생성한 스크립트를 실행한 다음은 아래와 같이 프롬프트 형태가 변경 
"[root@test:/]#"


4. vi 편집기에 대한 환경설정

# vi $HOME/.exrc : 편집기의 환경 스크립트 편집
==========================================================================================================================
set showmode sm nu
set ai nolist
==========================================================================================================================
# . $HOME/.exrc : 편집기의 환경 스크립트 실행



[ 설정사항 확인 방법 ]
 

1. 사용자의 로그인 쉘을 확인
# cat /etc/passwd | grep 사용자명(root) 
root:x:0:1:Super-User:/:/bin/ksh

2. 쉘 프롬프트를 확인
[root@test:/]#

3. vi 환경설정 확인
# vi testfile
( ) : "( )"을 입력하면 커서가 움직이는 것을 확인할 수 있음

'Unix > Solaris' 카테고리의 다른 글

Admin Command  (0) 2011.04.01
AND