linux KVM 성공기념 스크린 샷.

리눅스 서버에 KVM 설치하고, 솔라리스10, 윈도우XP를 게스트로 설치한후 성공한 스크린샷.

자세한 설치방법은 생략.
게스트 OS 생성: 순서대로 윈도우XP, 솔라리스10

virt-install –connect qemu:///system -n xpsp2 -r 1024 -f /home/VM/windows.vimg -s 12 -c /home/snowfox/Windows_XP_sp2.iso –vnc –noautoconsole –os-type windows –os-variant winxp
virt-install –connect qemu:///system -n soalris10 -r 1024 -f /home/VM/solaris10.vimg -s 12 -c /home/snowfox/sol-10-u9-ga-x86-dvd.iso –vnc –noautoconsole –os-type solaris –os-variant solaris10

리눅스 서버에 GUI를 올리지 않아서 접속해 보는데 힘들었다. 결국, Gnome 설치된 리눅스 데스크탑에서

virt-viewer -c qemu+ssh://192.168.100.12/system xpsp2

192.168.100.12는 kvm이 설치된 리눅스 서버.
실행중인 가상 서버를 보려면

virsh
virsh, 가상화 대화식 터미널에 오신 것을 환영합니다.
입력: 명령을 사용하여 문제 해결을 위해 ‘help’ 입력
종료하기 위해 ‘quit’입력
virsh # list –all
Id 이름 상태
———————————-
1 soalris10 실행중
2 xpsp2 실행중

윈도우 PC에서 guest OS 접속하는 방법(Xmanager 3.0 이용)
PC에서 사용할 수 있는 X서버 프로그램을 이용하면, 윈도우에서도 게스트 OS를 실행 할 수 있다. 상용프로그램인 Xmanager를 사용했지만, opensource인 Xming 을 이용해도 된다.
xmanager는 유료지만, 한달간 무료사용 가능하고, 기간이 지나도 사용하는데 문제는 없다.
먼저, xstart 를 실행하고, 호스트, 프로토콜(ssh를 사용했음), id, password를 입력하고, (virt-viewer를 실행할 수 있는 계정이면 됨), 실행명령에

virt-viewer -c qemu:///system xpsp2

를 입력해 주면, 게스트 OS를 사용할 수 있다.
게스트 OS 강제 종료는

virsh destroy [domain name]

 

2016년 12월 동영상 추가(virt-manager로 guestos 설치하기)

Continue reading

오라클 데이타 복구… 무식한방법…

관리중인 오라클서버에서 게시판 데이타를 삭제했다고 복구해 달라는 부탁을 받았다.

근데, 다 하고 보니 너무 무식한 방법을 사용한것 같다.

아무튼, 아래와 같은 방법으로 작업했다.

백업되어 있는 archive log화일과, dbf화일 ctl화일들을 모두  복사했다. 그리고, 오라클을 다른 컴퓨터에 설치한후에, 원래 화일들 이름을 바꾸고, 백업한 화일을 같은위치에 복사해 넣었다.
SQL> startup
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: ‘/xxx’

SQL> recover database;
Media recovery complete.
SQL> alter database open;

Database altered.

그리고 삭제된 데이타를 찾아보니 잘 있다 … 하하..

그러나 너무나 무식한 방법이었다…
아주 간단한 방법이 있었는데 그것은…..

SELECT * FROM [TABLE_NAME] AS OF TIMESTAMP (SYSTIMESTAMP – INTERVAL ‘100’ MINUTE);

삭제하고 commit 했어도 삭제된 데이타를 보여준단 말이다.
오라클의 flash back기능이란다…
있어도 무식해서 못써먹었으니… 이런 세상에나…

다음번에는 간단하게 써 먹어봐야 겠다.

CISCO 라우터 로그정보 외.

그대로 퍼왔음. 원문이 없어질 경우를 대비하여ㅣ

원문: http://www.totalphone.co.kr/router2.html

 Continue reading 

사이베이스 백업

사이베이스 백업 스크립트

#!/usr/bin/sh
DIR=”[SYBASE_BACKUP_DIR]”
WEEK=`date +%Y%m%d`
tgt_file=”$DIR/[database_name].$WEEK.dmp”
log_file=”$DIR/R/[database_name].$WEEK.log”
isql -Usa -P <<EOF
dump database [database_name] to “$tgt_file”
go
.
EOF
echo “DB DUMP END ==>$tgt_file”
find [SYBASE_BACKUP_DIR]/*.dmp -mtime +2 -exec rm -rf {} \;
find [SYBASE_BACKUP_DIR]/*.log -mtime +2 -exec rm -rf {} \;

넷백업 장애코드 스크랩

Status 6

– 원인 : The backup failed to back up the requested files

– policy의 backup selection이 정확한지 확인이 필요합니다. 해당 file이 없는 경우 발생합니다.

– DB agent의 경우 script 위치, 이름, 실행권한 등을 확인해야 합니다.

Status 21

– 원인 : A socket could not be opened

– 해결 방안

1. NetBackup log와 debug log를 생성하여 진행과정을 점검하여 장애 발생 요인 부분을 재설정한다.

2. Unix 장비인 경우 patch 적용이 정상적인지를 확인하고 Windows인 경우는 Service pack level을 확인한다.

Status 39

– 원인 : client name mismatch

– 해결 방안 : client 이름을 변경하거나 master 또는 media server에서 client 이름을 확인 후 변경한다.

Status 40

– 원인 : network connection broken

– 해결 방안

1. server에서 client로 ping test를 실행한다.

2. client와 server에 server list가 알맞게 설정되어 있는지를 확인한다.

3. mount 요청을 취소했을 경우에도 발생한다.

Status 54

– 원인 : timed out connecting to client

– Client와의 Network connection이 원할 하지 않을 때 발생합니다.

– Client의 Netbackup process가 실행 중인지 확인하고, ping등의 command를 이용해 client와 network 통신 확인

– 해결 방안

1. /etc/inetd.conf 파일에 bpcd 경로 설정이 맞는지 확인한다.

2. master server의 /etc/hosts 파일에 client명을 설정한다.

3. resolve network 통신 관련 점검한다.

Status 57

– 원인 : client connection refused

Status 71

– 원인 : none of the files in the file list exist

– policy에서 지정한 backup selection의 file을 찾을 수 없을 때 발생합니다.

– 실제 file이 존재하는지 확인합니다.

Status 84

– 원인 : media write error

– 미디어 write error입니다.

– Device 오염이나 media 불량으로 발생합니다.

– Device cleaning이나 media 교체로 문제를 해결할 수 있습니다.

Status 96

– 원인 : unable to allocate new media for backup, storage unit has none available

– 백업에 필요한 미디어가 없는 경우 발생

– 해결 방안

1.(Unix) /usr/openv/netbackup/bin/goodies/available_media

(Windows) install_path\netbackup\bin\goodies\available_media.cmd

위의 명령어로 현재 사용가능한 volume 있는지를 점검한다.

2. volume이 현재 FROZEN 이나 SUSPENDED 이면 bpmedia 명령어로 수정한다.

3. volume의 mount 최대값을 초과하였거나 모든 volume이 full발생하여 expire 되지 않았는지를 점검한다.

-policy에서 지정한 volume pool에 충분한 미디어가 있는지 확인합니다.

-미디어들이 full, frozen, suspend 상태이거나 다른 미디어 서버에 할당 되어 있으면 백업을 수행 할 수 없습니다.

-Tape 장비에 새 미디어를 넣거나 해당 volume pool에 미디어를 할당해서 해결할 수 있습니다.

Status 150

– 원인 : user가 강제로 job Cancel

Status 196

– 원인 : client backup was not attempted because backup window closed

-이전 백업 작업이 너무 오래 걸려서 schedule에 설정한 백업 윈도우 동안 백업 실행을 하지 못해서 발생합니다.

-Schedule을 조정해서 작업이 겹치지 않도록 하거나 백업 윈도우를 좀더 많이 주는 방법으로 해결할 수 있습니다.

Status 219

– 원인 : the required storage unit is unavailable

– Policy에서 지정한 storage unit이 가용하지 않은 경우입니다.

– 주로 system rebooting 등의 작업으로 drive상태가 down으로 되어 발생합니다.

– Device monitor 창에서 control column부분이 down상태인지 확인하고 down 상태이면 오른쪽 마우스를 클릭하여 up을 실행할 수 있습니다.

– 미디어 서버에서 NetBackup process가 정상적으로 동작 중인지 확인합니다.

– Up을 실행한 후에도 계속해서 down상태로 변환되면 실제 H/W장비에 이상이 있는 경우 입니다. 이 경우 장비 정비를 받으셔야 합니다.

-해결 방안

1.스케쥴에 설정된 storage unit이 맞는지 확인한다.

2.Device , Media Manager daemon이 구동 중인지 확인한다.

3.(Unix) Maximum concurrent jobs 의 값이 0 이 아닌지,

(Windows) Maximum concurrent drives 의 값이 0 이 아닌지를 확인한다.

4. storage unit이 tape이나 optical disk 일 경우 drive 상태가 UP 인지를 확인한다.

예제) F/S backup, Oracle Hot Backup ‘219’ Error 발생

원인 : Duplicate 3개(Copy하는 작업입니다.)가 실행중이었는데 그 중 하나가 어떤 Media를 요청하였으나 장시간 대기하다 timeover로 Pending Request가 발생 -> Pending Request로 상기 Backup ‘219’ 발생

해결 : Device Monitor에서 Pending Request 발생한 Media를 Deny Request(해당 Media ID에서 우측버튼) 선택으로 해결

[출처] 베리타스 장애 코드|작성자 곤이

Netbackup 문서

넷백업 커맨드 정리 문서.

다운로드:NetBackup_Commands_UNIX

넷백업 클라이언트 관리 가이드

다운로드: VERITAS NetBackup ™ 6.0 Advanced Client System Administrator Guide for UNIX and Win

mod_rewrite를 이용한 http커맨드 제어

PUT, TRACE, DELETE를 사용 불가능하게하기.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^TRACE [OR]
RewriteCond %{REQUEST_METHOD} ^PUT   [OR]
RewriteCond %{REQUEST_METHOD} ^DELETE

RewriteRule .* – [F]
</IfModule>

적용전

[root@movie conf]# telnet localhost 80
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
TRACE / HTTP/1.0
Host: localhost

HTTP/1.1 200 OK
Date: Fri, 06 Nov 2009 03:26:32 GMT
Server: Apache
Connection: close
Content-Type: message/http

TRACE / HTTP/1.0
Host: localhost

Connection closed by foreign host.

적용후

[root@localhost conf]# telnet localhost 80
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
TRACE / HTTP/1.0
Host: localhost

HTTP/1.1 403 Forbidden
Date: Fri, 06 Nov 2009 03:42:21 GMT
Server: Apache
Content-Length: 321
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don’t have permission to access /
on this server.</p>
<p>Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
Connection closed by foreign host.

이미 만든 개인키에서 비밀번호 제거하기.

 이미 만든 key 화일에서 비밀번호 제거…

openssl rsa -in server.key -out server-nodes.key

처음부터 만들지 않을때는 -nodes옵션 사용.

ssh 터널 뚫기.

방화벽안쪽의 서버에 ssh접속은 해야겠고, 방화역은 안열어주고. 이럴때, ssh터널을 하나 뚫어놓으면, 필요할때 접속 가능

방화벽안쪽 서버. box1, 방화벽 바깥 SSH 서버 box2, 외부의 컴퓨터 box3. box3은 윈도우에 putty를 이용.

먼저, box1 과 box2를 ssh접속해 놓는다.

box1에서 아래의 명령을 실행

ssh -f -N -g -C -R 2222:localhost:22 userid@box2_ipaddress

box3에서, command창을 열고 아래 커맨드 실행

plink -L 3333:localhost:2222 userid@box2_ipaddress

이후, putty 에서, 포트번호 3333으로 box2에 접속하면, box1로 ssh 접속이 된 것을 확인 할 수 있음.

openssl 자체인증서 만들기

openssl   자체인증서 만들기

openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
openssl genrsa -des3 -out server.key 4096
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
 여기서, set_serial   옵션이 잘못되었다고 에러. 그래서 그 옵션을 빼면,

openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key  -out server.crt

진행중 아래 에러발생

ca.srl: No such file or directory

 openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key  -CAcreateserial -out server.crt

결국 화일 생성됨

말그대로 ca.srl화일이 없어서 발생.

openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key  -CAcreateserial -out server.crt