<Partition Full Backup>

HDD를 통째로 Full backup해보자.

똑같은 HDD를 하나 장만해서 혹시 모를 장애를 대비해서 지금 작동하고 있는 HDD를 통째로 백업하는 것이다.

 

1. 똑같은 시스템을 갖는 HDD 두개 추가한다.

필자는 vmware이기 때문에 16GB짜리를 두개 추가하겠다.

하나는 ufsdump파일용 하나는 제대로 덤프파일이 작동하는지 test


 

2. 추가한 하드디스크는 2, 3번이다

 

3. c1t0d0HDD 파티션 정보이다. 이 중에서 root파티션과 home파티션만 full backup해보자.

 

4. c1t0d0와 똑같은 blocks를 잡아준다.

다음은 c1t2d0HDD 파티션 정보

 

다음은 c1t3d0HDD 파티션 정보

 

5. 파일시스템 생성

다음은 c1t2d0HDD 파일시스템 생성

 

다음은 c1t3d0HDD 파일시스템 생성

 

6. single booting한다.


 

7. ufsdump 명령어로 backdump파일을 만든다.

그전에 백업할 파티션에 마운트한 후에 마운트한 장치에 백업을 한다.


LIST

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

Solaris - backup  (0) 2016.05.05
Solaris - Run level  (0) 2016.05.04
Solaris - Swap Partition  (0) 2016.05.03
Solaris - Boot PROM, EEPROM  (0) 2016.05.03
Solaris - Root password 분실시 해결방법  (0) 2016.05.02

<backup>

일반적으로 backupdatatapedisk와 같은 장치에 저장하여 보관하는 것으로 많이 인식하고 있지만 상황에 따라 개념을 축소시킬 수 있다.

대부분이 tapeHDD를 사용한 backup이 보통이다.

 

<tar>

tar명령어는 여러 파일들을 묶는 명령어이다.

tar명령어를 이용하여 묶으면 절대경로 그대로 묶는다면 절대경로 그대로 풀리고 상대 경로로 묶으면 상대경로로 풀린다.

[옵션]

- c : 파일을 묶을 때 사용

- r : 이미 만든 file 끝에 내용을 추가할 때

- t : 묶은 내용을 볼 때

- x : 복구할 때

- v : 작업 내역을 자세히 볼 때

 


<실습 1>



1. 빈 파일을 3개를 만들고 묶는다.




 

2. 묶인 file.tar파일에 어떤 파일들이 있는지 내용을 본다

 



3. file3을 추가시킨다.



 

4. file.tar를 풀고 내용을 확인한다.

 

<ufsdump>

백업 파일을 만들때 사용하는 명령어이다.

ufsdump [옵션] [목적지] [백업할 소스파일]

[옵션]

0~9 level은 항상 자신보다 이전의 level을 참조한다. 처음은 항상 0으로...

u : update이며 /etc/dumpdates file의 내용을 갱신한다. backup하는 대상이 반드시 file이나 directory가 아닌 partition을 입력해야 정보가 남는다.

f : file이며 f 다음에는 backup 장치명을 적는다. 생략시 /dev/rmt/0를 기본으로 사용한다.


 

<ufsrestore>

ufsdump 명령어로 backup한 파일을 다시 복구하기 위해 사용하는 명령어이다.

[옵션]

rvf : full backup하는 옵션

xvf : 특정 파일만 백업하고 싶을때 사용

tvf : 복구하지는 않고 내용만 보고 싶을때 사용

ivf : 사용자와 묻고 답하면서 백업

 

<실습 2>

Network의 설정 파일들을 모두 /export/home/kyg로 복사 한 후에 이 파일들을 /test에 백업덤프를 만들어보자.



1. 파일이 있는지 확인한다.




 

2. ufsdump명령어를 이용해 덤프 파일 생성!


 



3. /export/home/kyg에 있는 파일들을 먼저 삭제한다.




 

4. ufsrestore명령어로 백업파일을 복구해본다.


 



5. 확인해보면 kyg디렉토리 아래에 kyg디렉토리가 생겼고 그안에 파일이 풀어졌다.



 

LIST

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

Solaris - Partition Full Backup  (0) 2016.07.28
Solaris - Run level  (0) 2016.05.04
Solaris - Swap Partition  (0) 2016.05.03
Solaris - Boot PROM, EEPROM  (0) 2016.05.03
Solaris - Root password 분실시 해결방법  (0) 2016.05.02

<Run level>

1. Run level 0

OS가 돌아가지 않는 상태이며 PROM상태를 말한다. 일반 PCBIOS와 같다고 생각하면 된다.

 

2. Run level S

System 운영에 필요한 가장 기본적인 file-systemmount된다. 설정 file이 잘못 수정되거나 root file-systemmount되지 않을 때 등등 장애 복구에 사용된다. root 사용자만 존재하며 계정이나 password를 묻지 않고 곧바로 root권한으로 login이 된다.

Single user mode라고도 부른다

 

3. Run level 1, 2

한 번도 사용해본적이 없지만, Run level 1은 모든 지역 file-systemmount되고, Run level 2root 이외의 모든 사용자들이 login할 수 있으며 공유 서비스는 제공하지 않는다. Multi user mode라고도 부른다

 

4. Run level 3

모든 서비스를 제공하며 공유 서비스도 지원한다. Solaris의 기본 run level이다. 부팅하면 Run level 3으로 부팅되는 것이다.

 

5. Run level 4

Solaris에서 지원하지 않는다.

 

6. Run level 5

현재 시스템에서 운영중인 모든 서비스를 중단하고, file-system도 모두 unmount하고 시스템의 poweroff한다.

 

7. Run level 6

시스템을 재부팅한다

 

LIST

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

Solaris - Partition Full Backup  (0) 2016.07.28
Solaris - backup  (0) 2016.05.05
Solaris - Swap Partition  (0) 2016.05.03
Solaris - Boot PROM, EEPROM  (0) 2016.05.03
Solaris - Root password 분실시 해결방법  (0) 2016.05.02

<Swap Partition>


Swap은 하드디스크를 메모리처럼 쓰는 기법을 말한다. 물리적인 메모리가 모자라면 하드디스크를 메모리인양 써서 메모리를 확보한다.

예를 들어서 메모리 512MB 시스템이 있다고 할 때, 이런 저런 프로그램들을 많이 실행해서 메모리가 부족해지면, 메모리 상에 적재된 프로그램들 중에서 당장 접근하지 않아도 되는 프로그램이며 데이터를 하드디스크로 옮기고 메모리의 일부를 비운다. 그렇게 확보한 메모리를 다른 프로그램에 할당해 주는 것이다.

 

메모리 512MB 시스템이 있습니다. 예에서 편의상 스왑은 1GB, , 메모리의 2배로 잡았다고 합시다.

 

A라는 프로그램으로 100MB 사용

B라는 프로그램으로 100MB 사용

C라는 프로그램으로 150MB 사용

D라는 프로그램으로 80MB 사용

E라는 프로그램으로 35MB 사용

F라는 프로그램으로 70MB 사용

530MB 정도를 쓰게 되네요. 그럼 메모리가 부족해지죠?

 

멀티태스킹 환경을 보면 사용자가 지금 쓰는 프로그램만 활성화 되어 있다. 나머지는 비활성화 되어 있어서 창의 색깔이 다르게 된다. 이렇게 사용자가 당장 쓰지 않는 프로그램의 데이터를 하드디스크로 옮기고, 얼마나 옮기는지는 모르지만 어쨌거나 일부를 옮긴다. (이걸 스왑이라고 한다)

 

필요한 530MB 용량 중 100MB가 스왑으로 옮겨졌다고 하자. 그럼 현재 메모리 점유율은 430MB 정도 되고 80MB 정도가 여유가 생겼을 것이다.

 

80MB를 자원으로 또 다른 프로그램을 실행할 수 있다. 물론 새로 실행시키는 프로그램이 용량이 커서 많은 메모리가 필요하다면 그때도 메모리 일부를 하드디스크로 옮길 것이다.

이상 Swap의 개념이었다.



 

<Swap의 역할>


간혹 윈도우에서 가상메모리가 부족하다는 메시지가 뜨는 경우를 본 적이 있을 것이다. 그러나 시스템이 다운이 되거나 하지는 않는다. 윈도우는 기본적으로 가상메모리를 윈도우 자체로 관리하게 되어 있기 때문에 그러리라고 생각한다만 리눅스의 경우 스왑을 포함해서 메모리가 적으면 시스템이 다운된다. MS 윈도우에서도 가상메모리를 사용자가 직접 지정하는 것이 기본값(Default)이라면 아마 마찬가지일 것이다. 메모리를 통상 작업대에 비유하는데, 할 일은 많은데 작업대가 없으니 다운되는 것이 당연하겠지...?


 

<Swap의 추가>

Swap을 추가하는 것은 그리 권장할 만한 사항이 못되므로 처음 partition을 나눌 때 충분한 공간을 만들어 주는 것이 좋다.



현재 사용하고 있는 swap을 확인해보자.





다음은 swap의 용량이 여유가 있는 것을 알 수 있다.

 

swap을 추가하기 위해서는 하드디스크의 용량을 확인해야 한다.

다음 그림을 보면 c1t1d0s01.9G정도 여유가 있는 것을 알 수 있다.

 


여유 용량의 하드디스크까지 알아봤으니 본격적으로 swap을 추가해보자.

1. /test1g짜리 빈 파일을 만든다.

 


2. swap_testswap을 추가한다. 그 후, 확인해본다.



 

3. 컴퓨터를 시스템을 재부팅하면 모든 데이터들이 날라가기 때문에 /etc/vfstab에 자동 마운트 시켜준다.

다음을 /etc/vfstab에 추가시켜 준다.



LIST

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

Solaris - backup  (0) 2016.05.05
Solaris - Run level  (0) 2016.05.04
Solaris - Boot PROM, EEPROM  (0) 2016.05.03
Solaris - Root password 분실시 해결방법  (0) 2016.05.02
Solaris - find  (0) 2016.05.01

<PROM>

Boot PROM이 가지고 있는 정보는 기본적인 하드웨어 점검 및 솔라리스를 읽는 역할을 한다. flash ROM에 저장되어 존재하며, 소켓형식으로 제공한다. Defaults 값만 저장되어 있고, 변경된 값은 NVRAM에 저장된다. 여기서 말한 Defaults 값이 PROM에 저장되고, 주기적으로 변경되거나 상시 변경되는 내용은 EEPROM에 저장된다.


 

PROMPOST, Device Drive, User Interface, Default parameters내용이 저장되어 있으며 부팅에 필요한 정보들을 가지고 있다.

 


NVRAMEthernet Address, HostID, time-of-day clockPROMdefault 값에서 변경된 값을 저장하는 EEPROM을 가지고 있고 PROM 명령어인 setenv를 사용하면 PROM의 값을 변경할 수 있는데 변경된 값들은 NVRAMEEPROM에 저장되며 지워지지 않는다.



 

<EEPROM>

EEPROMNVRAM(Non Volatile Random Access Memory) 내부에 존재하는 영역으로서 Boot PROM의 현재 설정 데이터, 사용자가 만든 device alias, 사용자가 만든 Boot PROM 정보등이 저장되어 있다.

 

x86명령어가 아닌 SPARC장비의 명령어들을 알아보자. 모두 ok mode에서 사용하는 명령어들이다.


1. 장비의 기본 옵션

banner




 

2. Boot PROM의 버전과 출시일

.version


 


3. Devices 연결 상태 보기

probe-scsi : HDD 타입 device검색

probe-scsi-all : 모든 HDD 타입 device검색





probe-ide : IDE타입

 

4. Alias 내용 보기

devalias



5. 환경 설정 내용보기

printenv

 

6. 환경 설정 변경하기

setenv [parameter_name] [value]

 

7. setenv로 환경 설정 변경후 재부팅

reset-all

 

8. Default 값으로 변경하기 -> Boot PROM의 기본값이 적용된다

set-default

set-default [parameter-name] -> parameter-name만 기본값으로 변경

set-defaults -> 모든 환경 값을 기본으로 변경

 

9. Single user mode로 부팅

boot -s

 

10. 부팅시 더 자세한 device 정보를 보여줌

boot -v

 

11. 새로 추가된 device 들의 device 파일을 새로 만듬

boot -r

 

12. 자동 부팅 설정/해제하는 방법

 auto-boot의 설정 값 보기

printenv auto-boot?

auto-boot의 설정 값 변경(false로 변경)

setenv auto-boot? false -> CD-ROM으로 부팅할 때

설정 확인 후 재부팅

reset-all

 

13. NIC가 여러개일 때 1개의 mac address만 사용

 setenv local-mac-address? false : 여러개 NIC 사용

 setenv local-mac-address? true : 한개의 NIC 사용

 reset-all

 

14. Network card(LAN 카드) 검사

watch-net

 

15. 물리적인 장치의 경로 보기

 show-disks

 show-nets

 show-devs

 

mirror disk1개 따로 구비되어 있어서 백업을 받아둔 상태에 원본 disk가 에러시 교체하는 방법

show-disks        // disk를 선택

nvalias mydisk        // 생성

devalias        // 설정 값 확인

setenv boot-device mydisk        // disk-net의 설정값을 mydisk로 변경

reset-all        // 설정 후 재부팅

nvunalias mydisk        // alias 삭제

setenv boot-device disk        // disk로 변경

reset-all        // 설정 후 재부팅

 

16. eeprom의 내용을 볼 수 있음

eeprom



LIST

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

Solaris - Run level  (0) 2016.05.04
Solaris - Swap Partition  (0) 2016.05.03
Solaris - Root password 분실시 해결방법  (0) 2016.05.02
Solaris - find  (0) 2016.05.01
Solaris - crontab  (0) 2016.05.01

<Root Password 분실>



[x86 버전 - VMware]



1. failsafe로 부팅한다.







 

2. 현 부팅 파일이 모두 들어있는 디스크 /dev/dsk/c1t0d0s0/a 라는 디렉토리에 이미지 마운트를 시킨다고 나오면 'y'를 입력


 




3. /etc/shadow파일을 수정해준후, 재부팅


왜 최상위 디렉토리가 /a인 이유는 처음에 이미지 마운트를 해주었기 때문이다.



 

[SAPRC]

이 방법은 장비가 없기 때문에 그림은 없고 글로 작성하겠다.


1. 시스템을 종료하고 DVD(CD)를 넣는다.

 

2. ok모드에서 boot cdrom -s를 입력해서 single mode로 부팅한다.

 

3. fsck -F ufs /dev/dsk/c0t0d0s0 /a 를 입력해 파일 시스템의 무결성을 검사한다.

 

4. mount /dev/dsk/c0t0d0s0 /a 를 입력해 /a를 이미지 마운트 시킨다.

 

5. vi /a/etc/shadow 를 입력해 수정한다.

 

기본적인 틀에 대한 개념은 같지만 다른점은 부팅할 때 다르다는 점이다.

 

LIST

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

Solaris - Swap Partition  (0) 2016.05.03
Solaris - Boot PROM, EEPROM  (0) 2016.05.03
Solaris - find  (0) 2016.05.01
Solaris - crontab  (0) 2016.05.01
Solaris - Directory 구조와 File system  (0) 2016.04.30

<find>

find명령어로 다양하고 수많은 파일들을 쉽게 찾을 수 있다.

 



[문법]

find / -name [파일명] -type [d | f] [기타옵션]

 



<실습>

1. / 디렉토리를 시작으로 host로 시작하는 모든 file을 찾아서 출력







2. /etc 디렉토리를 시작점으로 2MB이상되는 fime을 찾아서 화면에 출력


 





3. / 디렉토리를 시작점으로 setuid2000file을 찾아서 출력






 

4. /export/home 디렉토리를 시작점으로 최근 7일 동안 수정된 file을 찾아 출력






 

5. / 디렉토리를 시작점으로 inode number1234file을 찾아 출력





LIST

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

Solaris - Boot PROM, EEPROM  (0) 2016.05.03
Solaris - Root password 분실시 해결방법  (0) 2016.05.02
Solaris - crontab  (0) 2016.05.01
Solaris - Directory 구조와 File system  (0) 2016.04.30
Solaris - HDD 추가와 파티션 나누기  (0) 2016.04.29

<crontab>

지정된 날짜와 시간에 일정 작업을 주기적으로 수행하기 위해 사용되며 각 사용자 별로 /var/spool/cron/crontabs directroy에 사용자 ID와 같은 이름의 crontab file을 만들어 cron job을 지정 할 수 있다.

crontab 명령은 시스템이 부팅되면서 /etc/rc2.d/S75cron 스크립트에 의해서 daemon 형태로 수행되거나 sol10에서는 cron이라는 service명으로 동작된다.

주로 backup을 수행 할 때 많이 사용된다.

 

crontab -e : 파일을 편집할 때 사용

crontab -l : crontab 파일의 내용을 화면에 출력할 때 사용

crontab -r : 파일을 삭제할 때 사용

 

Minutes = 0~59

Hours = 0~23

Date = 1~31

Month = 1~12

Day-of-Week = 0:, 1:, 2=... 6:

 

ex) 30  1  *  2,4,6,8  3-5  cat/etc/passwd  >>  /export/home/kyg/test.txt

풀이 : 2, 4, 6, 8월달 수,,금 요일 130분마다 /etc/passwd 의 정보를 /export/home/kyg/test.txt에 저장해라.

 


<실습 1>

매주 화요일 새벽 120분에 접속한 사용자 목록 파일을 /export/home/kyg/who.log파일로 저장하시오.

1. crontab -e 를 사용하여 편집




2. 현재 필자의 시스템 시간


 



3. 빠른 실습을 위해 crontab이 실행되기 1분전으로 시간 변경


 



4. /export/home/kyg에 다음과 같은 사용자 접속 로그파일이 생성되었다.


 

 

<실습 2>


매주 월요일 밤 11시에 /etc/ 밑에 최근 5일동안 변경된 파일을 찾아서 /export/home/kyg/etc.log 파일로 저장하라.

 


1 .crontab -e 를 사용하여 수정해준다.





2. 지금 현재 날짜와 빠른 실습을 위해 시간 변경





3. 생성된 것을 확인할 수 있다.



LIST

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

Solaris - Root password 분실시 해결방법  (0) 2016.05.02
Solaris - find  (0) 2016.05.01
Solaris - Directory 구조와 File system  (0) 2016.04.30
Solaris - HDD 추가와 파티션 나누기  (0) 2016.04.29
Solaris - setuid, setgid, sticky bit  (0) 2016.04.29

<Directory 구조>


1. /dev 구조

/dev/dsk : 마운트 관련 디렉토리. 가공된 디스크. 그래서 mount할때는 /dev/dsk를 사용한다.

/dev/rdsk : 가공되지 않는 disk이다. newfs로 파일시스템을 생성할 때 /dev/rdsk를 사용한다.

 


2. /etc 구조

/etc/cron.d : cron 유틸관련 정보

/etc/default : 다양한 프로그램들의 기본 정보

/etc/init.d : 시작과 종료 서비스의 스크립트 파일들

/etc/nfs : NFS server 패키지 구성 정보

/etc/rc#.d : 삽입하거나 삭제할 때 특정 run level에 관한 스크립트 파일들

/etc/skel : 새로 생성되는 사용자들의 기본 쉘 초기 파일들이 있음.

 


3. /usr 구조

/usr/bin : 표준 시스템 명령어

/usr/sbin : /usr/bin이 기본사용자 용 명령어라면 /usr/sbinroot(관리자용)

 


4.  /var 구조

/var/sadm : FSTP(File System Type Package)파일들이 있다. 패키지 관련 디렉토리



LIST

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

Solaris - find  (0) 2016.05.01
Solaris - crontab  (0) 2016.05.01
Solaris - HDD 추가와 파티션 나누기  (0) 2016.04.29
Solaris - setuid, setgid, sticky bit  (0) 2016.04.29
Solaris - 시스템 기본 환경설정 .profile 파일, .sh파일  (0) 2016.04.23

<HDD 추가와 파티션 나누기>


실제 시스템이면 하드디스크를 메인보드에 꽂으면 된다. 하지만 필자는 VMware를 사용하고 있기 때문에 소프트웨어적인 방법으로 추가하겠다.

 

2GB짜리 하드 디스크를 추가해보자.



1. Edit virtual machine settings 클릭





 

2. Add누른후, hard disk 클릭





 

3. next 클릭


 



4. Next 클릭




 

5. 2GB로 변경후 next 클릭


 



6. OK클릭. HDD가 추가된것을 확인할 수 있다.




 


7. devfsadm -v 추가한 하드디스크 확인





8. format 명령어로 하드디스크 파티션 시작, 추가한 하드는 1번이다. 0번은 기존에 있던 하드




 

9. p를 눌러 partition을 시작하려고 하는데 오류가 뜬다. 처음 파티션을 시작할 때는 fdisk를 입력해줘야 한다.




 


10. fdisk를 입력 후, y





 

11. p를 눌러 파티션을 시작





 

12. p를 한 번더 누르면 print인데 파티션 정보를 출력을 해준다




 

13. 0번 파티션을 나눠보자.


0번 파티션에 100MB할당.

 

리눅스는 /dev/sda0 sda1이런식으로 하드디스크 이름과 파티션이 증가한다.

솔라리스에서는 Controller Target Disk Slicec0t0d0s0 이런식으로 파티션이 나눠진다.

t가 하드디스크를 의미하고 s가 파티션을 의미한다.

하드디스크가 다르면 t가 증가하고 파티션이 다르면 s가 증가한다.

지금 나누는 하드디스크의 파티션은 c0t1d0s0이다.

 



14. label -> 'y'로 설정 저장





 

15. q를 눌러 빠져나온다.





 

16. newfs 명령어로 file system을 생성한다. newfs를 할 때는 rdsk로 해야 한다.





 

17. mount한다.




LIST

+ Recent posts