Clustering 구성 뒤 반듯이 openais 관련 설정이 필요함.

vi /etc/ais/openais.conf
Posted by 봉보리봉봉
리눅스로 클러스터링 구축하는거 참 어렵구나...
뭐 이렇게 알아야되는게 많은지...

LVM, CLVM, Clustering, Fencing, GNBD, GFS, GFS2...

자료도 별로 없고... 매뉴얼은 있는데 순 영어라 뭔소린지 정확히 알아먹기도 힘들고...
왜 뭐는 되고 뭐는 안되고 그러는지... 하루동안 잡고 앉아있는데 정말 짜증나는구나...
Posted by 봉보리봉봉
smpatch add -i <패치 번호>


보통 다운로드된 패치 파일은 /var/sadm/spool에 저장됨.

설치시 가급적이면 Single Mode로 부팅 후 patch 권장.

init S


Posted by 봉보리봉봉
Windows의 예를 들자면, 기본적으로 설치된 Apache Tomcat(이하 Tomcat)의 document root directory는 다음과 같다.
{tomcat installed directory}/webapp


또 이 하위로는 ROOT와 기타 다른 context들이 존재한다.

다음은 이러한 기본 디렉토리(webapp)를 변경하는 방법이다.
참고로, Tomcat 6.x 버전을 기준으로 기록한다.

설치 디렉토리의 conf 디렉토리 내에 server.xml 파일이 존재하는데 이 파일을 편집기로 연다.
파일의 맨 마지막 부분을 보면 <Host name="localhost" 로 시작하는 부분이 있다.


이 부분을 보면 appBase라는 attribute가 있는데, 이 녀석을 수정해서 기본 application directory를 변경할 수 있다.
위의 그림에서처럼 상대경로를 attribute의 값으로 입력하면, tomcat이 설치된 디렉토리 하위에서 디렉토리를 찾게되는데 이 부분은 절대 경로도 입력가능하다.

또한, Host 하위에 들어갈 수 있는 element로는 Context가 있는데, Context를 설정함으로써 ROOT 컨텍스트나 특정 컨텍스트의 document 경로를 별도로 지정할 수 있다.
docBase attribute에도 appBase attribute 처럼 상대경로와 절대경로 입력을 모두 지원한다.

이 때 주의해야할 점이 있는데, appBase와 하위 context의 docBase의 경로가 같은 경우 docBase 하위의 디렉토리를 context로 인식하여 실행이 제대로 되지 않는다.

그리고 tomcat에서도 Apache Web Server처럼 가상 호스트를 지원하는데, 설정 방법은 위에서 설명한 것과 동일하다. 다만, 가상 호스트를 위한 별도의 <Host> element가 정의되어 있어야 한다.

예를 들면, 다음과 같이 정의되면 된다.

<Host name="bongbong.net" appBase="{directory}" 나머지 부분은 위와 동일...>
    <Alias>www.bongbong.net</Alias>
    <Value className=... (이 부분은 기본 설정 부분을 참조하라. log에 관련된 것임)
</Host>


Posted by 봉보리봉봉
ALTER TABLESPACE [tablespace name]
ADD DATAFILE '[datafile]' SIZE [size] REUSE AUTOEXTEND ON NEXT [size] MAXSIZE [unlimited|size]
Posted by 봉보리봉봉
우선, 디스크 장착 후 /dev 위치에서 새롭게 추가된 디스크가 제대로 인식되었는지 확인 후, fdisk 명령으로 파티션 분할 작업을 수행한다.

# fdisk [device name]


우리 회사의 경우 fdisk /dev/cciss/c1d1이므로,

# fdisk /dev/cciss/c1d1


p명령으로 존재하는 파티션이 있는지 확인 후, 없으면 n을 입력하여 새로운 파티션 추가. 모든 파티션이 추가되었으면 p명령으로 정상적으로 파티션 분할 작업이 되었는지 확인 후, w명령을 입력하여 파티션 정보를 저장한 뒤 fdisk 종료.

다음은 포맷 작업을 수행한다.

# mke2fs -j [파티션]


회사 시스템의 경우

# mke2fs -j /dev/cciss/c1d1p1


다음으로 mount할 디렉토리를 생성한 뒤, mount 작업을 수행한다.

# mount -t ext3 /dev/cciss/c1d1p1 /oradata


다음 작업은 옵션 작업으로, 파티션의 LABEL 이름을 설정하는 방법이다.

# e2label /dev/cciss/c1d1p1 /oradata


Redhat 계열에서 Disk Druid를 사용하여 설치한 경우 /etc/fstab 파일이 다음과 같은 형태로 구성되어 있음.

LABEL=/                 /                       ext3    defaults        1 1
LABEL=/var              /var                    ext3    defaults        1 2
LABEL=/home             /home                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SW-cciss/c1d0p3   swap                    swap    defaults        0 0


만약, 파티션의 LABEL 이름을 지정하였으면 위의 형태와 비슷하게
LABEL=로 시작하는 항목을 추가하고, 그렇지 않은 경우 파티션 이름을 직접 입력하여 부팅시 자동으로 mount 되도록 한다.

작업을 할 때 궁금했던 점이 각 라인의 맨 마지막 부분인데, 각 숫자가 의미하는 것은 다음과 같다.

1) 맨 앞의 0, 1 : 1은 dump가 가능한 파일시스템이라는 의미, 0은 dump 명령어로 덤프가 되지 않는 파일시스템을 의미
2) 그 뒤 숫자의 의미 : 0,1,2가 올 수 있음. 아래 숫자의 순서대로 fsck가 실행된다고 함.
    0 : 부팅시 fsck가 실행되지 않음
    1 : 루트파일 시스템을 의미
    2 : 그 외 파일시스템을 의미.


참조 :
 1. 네이버 지식인 : http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10202&eid=kuFlxBOUyS4RNwiHndg+houHC3CRm/XF&qb=uK60qr26ILXwvbrFqSDD37Ch&pid=faPGjsoQsCGssuvm6YZsss--294443&sid=SFegbXZ9V0gAABbNGbg
 2. 홈피디자인닷컴 : http://flashcafe.org/bbs/board.php?bo_table=server_study&wr_id=312&page=2
 3. http://dbtown.net/gnuboard4/bbs/board.php?bo_table=linux&wr_id=52
Posted by 봉보리봉봉

column "File Count" format 999999
column "Size(MB)" format 999,999,999.99
column "Free(MB)" format 999,999,999.99
column "Used(MB)" format 999,999,999.99
column "Max Ext(MB)" format 999,999,999.99
column "% Free" format 999.99
column "% Free Ext" format 999.99
column "Graph" format a11
column tablespace_name format a20

SELECT ts.tablespace_name,
"File Count",
TRUNC("SIZE(MB)", 2) "Size(MB)",
TRUNC(fr."FREE(MB)", 2) "Free(MB)",
TRUNC("SIZE(MB)" - "FREE(MB)", 2) "Used(MB)",
df."MAX_EXT" "Max Ext(MB)",
(fr."FREE(MB)" / df."SIZE(MB)") * 100 "% Free",
RPAD('*', TRUNC(CEIL((fr."FREE(MB)" / df."SIZE(MB)") * 100)/10), '*') "Graph"
-- ,((DECODE(df."MAX_EXT", 0, df."SIZE(MB)", df."MAX_EXT") - fr."FREE(MB)") / DECODE(df."MAX_EXT", 0, df."SIZE(MB)", df."MAX_EXT")) * 100 "% Free Ext"
FROM (SELECT tablespace_name,
SUM(bytes) / (1024 * 1024) "FREE(MB)"
FROM dba_free_space
GROUP BY tablespace_name) fr,
(SELECT tablespace_name,
SUM(bytes) / (1024 * 1024) "SIZE(MB)",
COUNT(*) "File Count",
SUM(maxbytes) / (1024 * 1024) "MAX_EXT"
FROM dba_data_files
GROUP BY tablespace_name) df,
(SELECT tablespace_name
FROM dba_tablespaces) ts
WHERE fr.tablespace_name = df.tablespace_name (+)
AND fr.tablespace_name = ts.tablespace_name (+)
ORDER BY "% Free"
/

Posted by 봉보리봉봉

Solaris에서는 Linux에서 LD Path를 수정 적용해주는 명령인 ldconfig 명령어 대신에 'crle'라는 명령어를 제공함.

기존 LD Path에 새로운 LD Path를 추가하는 경우

# crle -u -l [PATH]



LD Path 확인

# crle


 

Posted by 봉보리봉봉

2008.04.26 22:13 작업/C,C++

KIN VC 2005

뭐 하나 하려면 뭐가 그리 복잡한지...
KIN드삼

'작업 > C,C++' 카테고리의 다른 글

Thread + Memory Leak  (2) 2009.03.12
KIN VC 2005  (0) 2008.04.26
fread, fwrite, fseek  (0) 2007.12.29
Posted by 봉보리봉봉
fopen()에서 "rb+"로 읽어 fread로 데이터를 읽은 뒤 fwrite를 하면 파일 내용을 기록하지 못함.

fread() 후
fseek( fp, 0, SEEK_CUR );
fwrite()를 해야 파일에 데이터가 기록됨.

'작업 > C,C++' 카테고리의 다른 글

Thread + Memory Leak  (2) 2009.03.12
KIN VC 2005  (0) 2008.04.26
fread, fwrite, fseek  (0) 2007.12.29
Posted by 봉보리봉봉
이전버튼 1 2 3 4 5 이전버튼

블로그 이미지
봉보리봉봉

공지사항

Yesterday28
Today2
Total137,050

티스토리 툴바