본문 바로가기

OS

(45)
[Linux] Disk inode 사용 해제 Disk inode 사용률이 100%에 도달하면 디스크 공간이 있어도 파일을 생성 할 수 없다. inode는 속성 및 디스크 블록 위치와 같은 파일에 대한 중요한 정보가 포함되어 있다. 따라서 가용 가능한 inode가 없다면 파일을 생성 할 수 없는것이다. 따라서 inode 가용률을 높이기 위해서는 파일 삭제 외에는 방법이 없다. inode 가용률은 아래와 같이 확인 할 수 있다. df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda2 5218304 3033293 2185011 59% / 파일이 개수가 많은 디렉토리를 찾아 해당 디렉토리의 파일을 삭제 함으로써 inode를 확보한다. find / -xdev -type f | cut -d "/" -f..
Pacemaker 사용해보기[1] - VIP를 이용한 서버 이중화 소개 간단히 VIP를 이용하여 Active/Passive 구조에서 Server Fail이 났을때 Failover 되는 상황을 테스트 해보려 한다. 유사한 Tool 중에 keepalived 가 있지만 keepalive에서 track 과 같이 스크립트를 사용했던 것과 비슷하게 resource agent 스크립트를 제공하며 정의 할 수 있는것으로 보인다. keepalived보다 좀더 체계적인 방식으로 노드, pacemaker 자체 프로세스, 응용 프로세스, 네트워크, 디스크 등에 이르기까지 모니터링 기능을 통해 서비스 가용성을 확보할 수 있을 것으로 보인다. 또한 corosync quorum을 통해 3대 이상의 노드에서 failover 상황을 명확히 규정하고 stonith(fencing) 를 통해 데이터 무결..
DRBD 구축 해보기 소개 및 특징 DRBD(Distributed Replicated Block Device)는 네트워크 상에서 데이터를 미러링하기 위한 장애조치 솔루션이다. DRBD는 Linux 커널 모듈을 통해 구현되는 소프트웨어 기반 스토리지 솔루션이으로 Block Device 용 가상 드라이버를 사용하여 I/O를 처리하며 원격지로의 미러링 또한 수행하게 된다. 스토리지나 데이터베이스의 Fault Tolerant 기반으로 운영하고자 한다면 고려해볼 수 있다. 다만 백업과는 다른 개념으로 롤백 같은 기능은 제공되지 않으므로 유의하여야 한다. 미러링 방식 미러링되는 방식으로 총 3가지를 제공한다. 1. Protocol A - Async, 비동기모드 - Primary 노드에서 로컬 디스크로 쓰기가 완료되고 TCP 송신 버퍼에..
[LetsEncrypt] certbot을 이용한 SSL 인증서 발급(standalone, txt dns 레코드(dns challenge)) certbot 설치 환경 : CentOS7 x64 yum install certbot standalone 방식 조건 webserver의 중지가 필요하다. dns에 도메인등록 dns 에 등록된 IP와 webserver의 라우팅 가능한 IP가 일치해야 한다. SSL 인증서 발급받기 # certbot certonly --standalone -d test.test.com Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator manual, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to ..
IOPS(Input/Output Operations Per Second) 계산 방법 IOPS 계산법 초당 데이터 전송량 = IOPS * 블록크기 or IOPS = 초당 데이터 전송량 / 블록크기 볼록크기(Block Size) 확인 방법 Linux 파일시스템이 xfs의 경우 "xfs_info /dev/sda2" 의 명령어로 "bsize=4096" 을 확인 할수 있다.(단위는 byte) # xfs_info /dev/sda2 meta-data=/dev/sda2 isize=512 agcount=9, agsize=6422464 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=51904251, imaxpct=25 = sunit=0 swidth=0 blks naming =versio..
jq filter를 이용한 json 출력하기 아래와 같은 결과값을 var1, var2 를 key 값으로 하는 json을 표출 하려한다. test1 jq filter: var1 100, var2 200. this is test1 test2 jq filter: var1 300, var2 400. this is test2 최종 json 표출은 아래와 같다. [ { "var1": "100", "var2": "200.", "other": "this is test1" }, { "var1": "300", "var2": "400.", "other": "this is test2" } ] 1. 특수기호 제거 ",", ":", "." 같은 특수 기호를 제거한다. 편의상 a라는 파일에 넣고 작업한다. cat a | sed 's/://g' | sed 's/,//g' | ..
[ActiveDirectory] AD 계정 마지막로그인, 패스워드 변경. 계정생성 날짜 출력해보기(powershell) 활성화 된 사용자 계정만을 대상으로 계정 정보 출력 Clear-Host $users = (Get-ADUser -Filter * -Properties *).SamAccountName Foreach ($user in $users){ $isenable = (Get-ADUser -identity $user -Properties LastLogonDate).Enabled if (!$isenable) { continue } else { $passwdlastset = (Get-ADUser -identity $user -Properties PasswordLastSet).PasswordLastSet $create = (Get-ADUser -identity $user -Properties whenCreated).whenCr..
Proxmox 환경 VM(CentOS7) 디스크 LVM 사이즈 증가 proxmox 하이퍼바이저 내에 VM으로 CentOS7을 운용중이며 CentOS7 의 파티션은 LVM으로 구성되어 있고 "/" 파티션을 사이즈업 하려고 한다. 현재 구성 현재 "/" 파티션에 71G 가 할당되어 있다. # df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs tmpfs 7.8G 8.5M 7.8G 1% /run tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/mapper/V0-root xfs 71G 1.5G 70G 3% / /dev/sda1 xfs 2.0G 152M 1...
linux(CentOS7) python 개발 환경 vim 설정 CentOS7 에 python 개발을 위한 vim 환경 설정을 한다. 사용 패키지 및 plugin vim 9.0 python3.6.8 vim bundle : vim plugin 관리자 jedi-vim : 자동완성 plugin vim-python-pep8-indent : 자동 들여쓰기 plugin vim-flake8 : 문법검사 plugin 설치 CentOS7 커널 버전 # cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) 기본 패키지 설치 yum -y update yum -y groupinstall "Development Tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-dev..
[Linux] 디스크 파티션 크기 확장(standard) Public Cloud나 구축한 Hypervisor의 VM을 운용하는 경우 필요에 의해 디스크 사이즈를 증가 시킬수 있다. 작업 순서는 다음과 같다. 디스크 용량 추가 -> 파티션 확장 -> 파일시스템 resize 디스크 추가 디스크를 추가하여 기존 100G -> 200G로 증가 시켰으며 lsblk로 파티션 정보를 확인한다. sda2 에 / 파티션을 98G -> 198G로 100G 증가 시키려 한다. 이때 sda는 8:0 이며 sda2 는 8:2 이다. $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk ├─sda1 8:1 0 2G 0 part [SWAP] └─sda2 8:2 0 98G 0 part / sr0 11:0 1 1024M..