df와 du의 값이 다르다면 아마 du의 결과값이 정확할것이다. 


먼저 알아야 할게 df 는 커널이 알고있는 파티션 정보를 보여주는 것이고 du는 디스크를 직접 뒤져서 나온 결과이다. 


만약 아파치 로그나 메일로그의 방대함으로 인해 디스크가 full이 난 상황에서 로그를 지운다해도 df의 결과는 


아직 100%일게다. 


로그가 기록된다함은 데몬이 로그파일을 열어논(file open) 상태라는거다. 파일이 오픈된 상태에서 그 파일을 지워봐야 


커널은 그 파일이 삭제되었음을 인지하지 못한다. 


결국은 해당 데몬을 내리던지, 리스타트 하든지, 리부팅해야한다. 


아파치로그, 시스템로그(syslogd), mysql로그 등등....모두 동일하겠지? 로그삭제후엔 리스타트~ 

'리눅스ETC' 카테고리의 다른 글

오라클 sys 계정 암호 분실시  (0) 2016.03.30
리눅스 콘솔 해상도 변경하기  (0) 2016.03.30
Xen drbd + iscsi + hearbeat  (0) 2016.03.30
타임존 변경  (0) 2016.03.30
find를 이용한 파일내 문자열 치환  (0) 2016.03.30

- 내가 하고 싶은 것

여러대의 Xen으로 Pool을 구성하고 싶은데 그러기 위해서는 공유스토리지가 필요하고,

스토리지는 비싸서 안사준다.

리눅스서버로 iscsi 셋팅해서 drbd로 이중화하고 heartbeat로 failover까지 잡고싶다.



대충 이런거...




- 구성 환경 

CentOS 5.5 64

node vip : 192.168.0.100

pool1-node1 : 192.168.0.101

pool1-node2 : 192.168.0.102

partition : /dev/sda3


1. drbd 


[node1, node2]

vi /etc/hosts

192.168.0.101    pool1-node1

192.168.0.102    pool1-node2

 

yum install  drbd83 kmod-drbd83


vi /etc/drbd.conf

resource pool1-storage {

        protocol C;

        handlers {

                pri-on-incon-degr "echo 'pri-on-incon-degr'";

                pri-lost-after-sb "echo 'pri-lost-after-sb'";

                local-io-error "echo 'local-io-error'";

        }

        startup {

                wfc-timeout 300;

                degr-wfc-timeout 120;

        }

        disk {

                on-io-error detach;

        }

        net {

                timeout 60;

                connect-int 10;

                ping-int 10;

                max-buffers 20000;

                max-epoch-size 20000;

                unplug-watermark 20000;

        }

        syncer {

                rate    512M;

                verify-alg md5;

        }

        on pool1-node1 {

                device  /dev/drbd0;

                disk    /dev/sda3;

                address 192.168.0.101:7790;

                meta-disk internal;

        }

        on pool1-node2 {

                device  /dev/drbd0;

                disk    /dev/sda3;

                address 192.168.0.102:7790;

                meta-disk internal;

        }

}


drbdadm create-md pool1-storage

(dd if=/dev/zero of=/dev/sda3 bs=1M count=128)


/etc/rc.d/init.d/drbd start 



[node1]

drbdadm -- --overwrite-data-of-peer primary



[node1, node2]

cat /proc/drbd



2. iscsi


[node1, node2]

attached: iscsitarget-1.4.20.2.tar.gz

cd /root

tar xvfz iscsitarget-1.4.20.2.tar.gz

cd iscsitarget-1.4.20.2

make ; make install


vi /etc/iet/ietd.conf

Target iqn.xen.storage-server.com:pool1.storage

        IncomingUser postman postman1234

        Lun 0 Path=/dev/drbd0,Type=fileio

 


3. heartbeart


[node1, node2]

yum install heartbeat


vi /etc/ha.d/haresource

pool1-node1 drbddisk::pool1-storage \

iscsi-target \

Delay::2::0 \

IPaddr::192.168.0.100/32/eth0:1 


vi /etc/ha.d/ha.cf

debugfile       /var/log/ha-debug

logfile         /var/log/ha-log

logfacility     local0


keepalive       1

deadtime        10

warntime        4

initdead        60

udpport         694

bcast           eth0

ping            192.168.0.102 (node2 는 192.168.0.101 로 셋팅, 서로 상대방의 아이피로 설정)

respawn         hacluster       /usr/lib64/heartbeat/ipfail

auto_failback   off


node pool1-node1

node pool1-node2


vi /etc/ha.d/authkeys

auth 2

2 crc


chmod 600 /etc/ha.d/authkeys


[node1]

/etc/rc.d/init.d/heartbeat start

(ifconfig 상에서 eth0:1에 vip 192.168.0.100 이 올라오면 node2도 heartbeat 시작해준다)



4. XenCenter iscsi 연결


'리눅스ETC' 카테고리의 다른 글

리눅스 콘솔 해상도 변경하기  (0) 2016.03.30
df 와 du 의 다른 결과  (0) 2016.03.30
타임존 변경  (0) 2016.03.30
find를 이용한 파일내 문자열 치환  (0) 2016.03.30
아파치 브라우저별 접근권한 설정  (0) 2016.03.30

타임존 변경

타임서버와 아무리 시간을 맞춰도 엉뚱한 시간이 나온다면 타임존을 의심해보자 


우리나라에서는 Asia/Seoul 로 되야한다. 


/usr/share/zoneinfo/Asia 디렉토리에 보면 Seoul파일이 있다. 배포판마다 다를순 있겠지만 대충 비슷하다. 


이 파일을 /etc 밑에 localtime 이라는 이름으로 복사를 하던지 심볼릭 링크를 걸어준다. 



ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 


rdate -s time.bora.net 


crontab -e 

00 00 * * * su - root -c '/usr/bin/rdate -s time.bora.net && /sbin/clock -w' 

'리눅스ETC' 카테고리의 다른 글

df 와 du 의 다른 결과  (0) 2016.03.30
Xen drbd + iscsi + hearbeat  (0) 2016.03.30
find를 이용한 파일내 문자열 치환  (0) 2016.03.30
아파치 브라우저별 접근권한 설정  (0) 2016.03.30
mysql 테이블 비우기  (0) 2016.03.30

find ./ -name "*.txt" -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} \; 

'리눅스ETC' 카테고리의 다른 글

Xen drbd + iscsi + hearbeat  (0) 2016.03.30
타임존 변경  (0) 2016.03.30
아파치 브라우저별 접근권한 설정  (0) 2016.03.30
mysql 테이블 비우기  (0) 2016.03.30
톰캣 파일리스팅 막기  (0) 2016.03.30

BrowserMatch "Mozilla/2" nokeepalive

BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

BrowserMatch "RealPlayer 4\.0" force-response-1.0

BrowserMatch "Java/1\.0" force-response-1.0

BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "WebZIP" go_out

BrowserMatch "Teleport" go_out

BrowserMatch "GetRight" go_out

BrowserMatch "Teleport Pro/1.29" go_out

BrowserMatch "WebCopier" go_out

BrowserMatch "HTTrack" go_out

BrowserMatch "FlashGet" go_out

BrowserMatch "JetCar" go_out

BrowserMatch "Go!Zilla" go_out

BrowserMatch "NamoWebEditor" go_out

BrowserMatch "Namo" go_out

BrowserMatch "MSFrontPage" go_out

BrowserMatch "WebTrack-HTTPP" go_out

BrowserMatch "WebSymmetrix" go_out

BrowserMatch "Download Ninja 2.0" go_out

BrowserMatch "JBH Agent 2.0" go_out

BrowserMatch "EmailCollector/1.0" go_out

BrowserMatch "EmailSiphon" go_out

BrowserMatch "EmailWolf 1.00" go_out

BrowserMatch "ExtractorPro" go_out

BrowserMatch "Crescent Internet ToolPak HTTP OLE Control v.1.0" go_out

BrowserMatch "Mozilla/2.0 (compatible; NEWT ActiveX; Win32)" go_out

BrowserMatch "CherryPicker/1.0" go_out

BrowserMatch "CherryPickerSE/1.0" go_out

BrowserMatch "CherryPickerElite/1.0" go_out

BrowserMatch "NICErsPRO" go_out

BrowserMatch "WebBandit/2.1" go_out

BrowserMatch "WebBandit/3.50" go_out

BrowserMatch "webbandit/4.00.0" go_out

BrowserMatch "WebEMailExtractor/1.0B" go_out

BrowserMatch "autoemailspider" go_out


<Directory /apache/htdocs>

    Order allow,deny

    Allow from all

    Deny from env=go_out

</Directory>

'리눅스ETC' 카테고리의 다른 글

타임존 변경  (0) 2016.03.30
find를 이용한 파일내 문자열 치환  (0) 2016.03.30
mysql 테이블 비우기  (0) 2016.03.30
톰캣 파일리스팅 막기  (0) 2016.03.30
아파치 이미지 로그 제외하기  (0) 2016.03.30

mysql> optimize table 테이블명



진짜 데이터를 비우는건 아니고..


레코드를 많이 지웠는데도 불구하고 MYD 파일의 용량이 줄지 않았을때 써주면 된다.



mysql은 레코드를 삭제해도 물리적으로 지우는게 아니기때문에 지운시늉만하고 MYD 파일의 크기를


계속 크게 잡고 있게 된다. 


한번에 많은 데이터를 삭제하였을때나 입출력이 잦은 사이트에서 한번씩 써주면 디비성능이 향상될수도 있겠다.

<pram-name>listings</param-name>

<pram-name>false</param-name>



true 면 파일리스트 보여줌.

SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf|GIF|JPG|JPEG|ico)$ IMAGE=1


CustomLog logs/access_log combined env=!IMAGE


'리눅스ETC' 카테고리의 다른 글

mysql 테이블 비우기  (0) 2016.03.30
톰캣 파일리스팅 막기  (0) 2016.03.30
자바 프로세스별 힙메모리 상세보기  (0) 2016.03.30
특정날짜 이전/이후 데이터 찾기  (0) 2016.03.30
vm.overcommit_memory  (0) 2016.03.30

JAVA_HOME/bin/jmap -heap PID


'리눅스ETC' 카테고리의 다른 글

톰캣 파일리스팅 막기  (0) 2016.03.30
아파치 이미지 로그 제외하기  (0) 2016.03.30
특정날짜 이전/이후 데이터 찾기  (0) 2016.03.30
vm.overcommit_memory  (0) 2016.03.30
메모리 사이즈별 my.cnf  (0) 2016.03.30

-mtime 으로 찾으면 가능하겠지만...


날짜가 오래된... 몇년 전 데이터라면 날짜 계산하기도 어렵다.;


그래서 touch 로 생성날짜를 지정해 파일을 만들고


find 의 -newer 를 사용해 파일을 찾아본다.



예)  2010년 이후에 생성된 모든 파일을 찾는다.


1. 2010년 1월 1일 00시 00분 이후로 생성된 파일을 찾아야 하기에  딱 그시간에 생성된 파일을 만든다.

   년월일시분 순으로 지정.


touch -t 201001010000 /root/start_data_file



2. newer 를 사용해 해당 파일을 찾는다.


find ./ -type f -newer /root/start_data_file



만약 2010년보다 더 오래된파일을 찾고자 할때는 ! 로 부정을 쓰면 된다.


find ./ -type f ! -newer /root/start_data_file


이러면 2009년도 데이터부터 더 오래된 파일들을 가져올것이다. 2009, 2008, 2007, 2006년도 등등...

'리눅스ETC' 카테고리의 다른 글

아파치 이미지 로그 제외하기  (0) 2016.03.30
자바 프로세스별 힙메모리 상세보기  (0) 2016.03.30
vm.overcommit_memory  (0) 2016.03.30
메모리 사이즈별 my.cnf  (0) 2016.03.30
레드헷 로컬에서 yum 쓰기  (0) 2016.03.30

to Top