Tomcat의 로그를 보다보니 날짜별로 로그 파일을 나누어 쌓고 있음과 동시에 catalina.out이라는 파일에도 중복하여 로그를 쌓는것을 알수 있다.
이 파일은 끝없이 커지는데 관리상 좋지 못한것은 자명한 일이다. 이 문제를 해결하기 위해 catalina.sh 파일을 수정한다.
start 부분을 찾아 다음과 같이 수정하자.
[code]elif [ “$1” = “start” ] ; then
shift
# touch “$CATALINA_BASE”/logs/catalina.out
if [ “$1” = “-security” ] ; then
echo “Using Security Manager”
shift
“$_RUNJAVA” $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS” -classpath “$CLASSPATH” \
-Djava.security.manager \
-Djava.security.policy==”$CATALINA_BASE”/conf/catalina.policy \
-Dcatalina.base=”$CATALINA_BASE” \
-Dcatalina.home=”$CATALINA_HOME” \
-Djava.io.tmpdir=”$CATALINA_TMPDIR” \
org.apache.catalina.startup.Bootstrap “$@” start \
>> /dev/null 2>&1 &
# >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
if [ ! -z “$CATALINA_PID” ]; then
echo $! > $CATALINA_PID
fi
else
“$_RUNJAVA” $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS” -classpath “$CLASSPATH” \
-Dcatalina.base=”$CATALINA_BASE” \
-Dcatalina.home=”$CATALINA_HOME” \
-Djava.io.tmpdir=”$CATALINA_TMPDIR” \
org.apache.catalina.startup.Bootstrap “$@” start \
>> /dev/null 2>&1 &
# >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
if [ ! -z “$CATALINA_PID” ]; then
echo $! > $CATALINA_PID
fi
fi[/code]
* 추가 – 더 편한 방법
언제 부터인가 위의 설정이 >> “$CATALINA_OUT” 2>&1 &와 같이 바뀌었습니다.
/etc/profile에 다음을 추가하셔도 한방에 해결됩니다.
[code]export CATALINA_OUT=”/dev/null”[/code]
Category Archives: 리눅스서버관리
잘 안잡히는 SCSI 장비 강제로 설정하기
일을 하다가 겪은 일이다.
광케이블을 사용하는 SAN(Storage Area Network) 장비를 구성하다 보니 이 스토리지를 못잡는 서버가 생겨났다.
똑같은 스토리지를 잡는데 3번째 서버에서는 스토리지 장비를 잡지 못하는것이다.
이것때문에 SAN HB카드도 교체해 보고 별짓을 다하였지만 방법이 없었다. 아마도 조금 오래된 장비라 호환성에 문제가 있었던거 같다.
그럴땐 다음과 같은 방법으로 강제 설정을 할수 있다.
[code][root@Theeye-3 ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 06 Lun: 00
Vendor: PE/PV Model: 1×5 SCSI BP Rev: 1.1
Type: Processor ANSI SCSI revision: 02
Host: scsi0 Channel: 02 Id: 00 Lun: 00
Vendor: MegaRAID Model: LD 0 RAID1 34G Rev: 351X
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: ADTX Model: AXRR-LH000FF Rev: L58C
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 00 Lun: 02
Vendor: ADTX Model: AXRR-LH000FF Rev: L58C
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi3 Channel: 00 Id: 00 Lun: 00
Vendor: ADTX Model: AXRR-HA- PSEUDO Rev: 5860
Type: Direct-Access ANSI SCSI revision: 02[/code]
잡을려는 장비는 AXRR-HA 로 시작하는 장비이다. 그런데 PSEUDO라는 이상한 장비만이 나와있다.
저렇게 나와도 실제로는 잡히지 않는다. 여기서 우리가 잡고자 하는 장비의 정보를 유추해 보자.
Host, Channel, Id, Lun만을 확인해 보면 되겠다.
Host는 scsi 1, 2, 3이 존재하고 있다.
Channel은 00과 02가 있으며 Id는 06과 00, 그리고 마지막으로 Lun은 00아니면 02이다.
이제 장비를 잡는것은 시간과 삽질만으로 가능할지 모른다.
나는 이전 장비인 AXRR-LH000FF 장비가 할당 받는 패턴을 생각하여 다음의 값을 유추해 보았다.
scsi3 Channel: 00 Id: 00 Lun: 02
다음과 같은 명령으로 장비를 추가해 본다.
[code]echo “scsi add-single-device 3 0 0 2” > /proc/scsi/scsi[/code]
장비가 존재한다면 정상적으로 추가가 되었을 것이고 존재하지 않는다면 아무일도 일어나지 않을것이다.
[code][root@Theeye ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 06 Lun: 00
Vendor: PE/PV Model: 1×5 SCSI BP Rev: 1.1
Type: Processor ANSI SCSI revision: 02
Host: scsi0 Channel: 02 Id: 00 Lun: 00
Vendor: MegaRAID Model: LD 0 RAID1 34G Rev: 351X
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: ADTX Model: AXRR-LH000FF Rev: L58C
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 00 Lun: 02
Vendor: ADTX Model: AXRR-LH000FF Rev: L58C
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi3 Channel: 00 Id: 00 Lun: 00
Vendor: ADTX Model: AXRR-HA- PSEUDO Rev: 5860
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi3 Channel: 00 Id: 00 Lun: 02
Vendor: ADTX Model: AXRR-HA-FF Rev: 5860
Type: Direct-Access ANSI SCSI revision: 02[/code]