목록LINUX (39)
Wisdom’s Cloud
지난 시간(2022.09.06 - [LINUX] - [Linux] [CentOS] LVM(1))에 생성한 LVM을 확장하고 축소해보자. 아래 그림과 같이 /dev/sda6를 LVM에 추가하고 제거해보자. 1. /dev/sda6 추가 df 명령어를 통해 현재 파일시스템의 크기를 확인해보면, testvg-test_lv의 크기가 약 200M인 것을 볼 수 있다. 이 testvg-test_lv에 /dev/sda6를 추가하고 300M로 확장해보자. 1-1) PV 생성 먼저 /dev/sda6의 PV를 만들어준다. [root@server-1-lab ~]# pvcreate /dev/sda6 Physical volume "/dev/sda6" successfully created. 1-2) VG 확장 그리고 vgexten..
지난 시간(2022.09.05 - [LINUX] - [Linux] [CentOS] 하드디스크와 파티션)에 하나의 물리적인 디스크를 여러 개의 논리적인 디스크로 분할하여 저장 공간을 효율적으로 활용하기 위해 파티션을 사용한다고 했다. 하지만 파티션보다 디스크를 더 유연하고 효율적으로 쓸 수 있도록 하는 방법이 있는데, 바로 LVM이다. 따라서 이번에는 LVM에 대해 알아보도록 하자. LVM(Logical Volume Manager)란? 하드디스크를 파티션으로 나누어도 나눈 만큼의 고정적인 용량으로 사용하기 때문에 디스크 추가 및 제거 시에 별도로 복잡한 작업이 생기게 되고, 데이터 관리가 불편할 수 있다. 하지만 LVM은 이 파티션을 다시 논리적인 개념의 볼륨으로 나누어서 유동적으로 용량을 관리할 수 있다..
이번에는 하드디스크와 파티션에 대해 알아보자. 먼저 디바이스는 블록 디바이스와 캐릭터 디바이스로 나뉜다. 블록 디바이스는 하드디스크나 CD/DVD, 플로피디스크와 같은 장치를 말하며, Block 단위로 데이터를 전송한다. 반면, 캐릭터 디바이스는 키보드, 마우스, 모니터와 같은 장치를 말하며, Byte 단위로 데이터를 전송한다. 이러한 디바이스들은 /dev 디렉터리에서 확인할 수 있으며, 파일 유형이 b 또는 c로 시작하는 것이 각각 블록 디바이스와 캐릭터 디바이스를 의미한다. 지금은 하드디스크에 대해 알아볼 것이기 때문에 lsblk 명령어를 통해 사용 가능한 블록 디바이스에 대한 정보를 확인해보자. lsblk 명령어 출력에 대한 내용들은 다음과 같다. NAME는 디바이스 이름을 나타낸다. MAJ:MIN..
sosreport란? sosreport 명령어는 시스템 정보를 수집하는 스크립트다. 방화벽으로 접근이 불가능한 시스템이나 root 권한을 주지 않고 시스템에 대한 점검을 다른 사람에게 의뢰할 경우 사용되며, 주기적으로 sosreport를 수집해서 시스템 설정사항에 대한 백업 용도로도 사용이 가능하다. 먼저 sosreport 명령어를 실행하려면 sos 패키지를 설치해야 한다. [root@test-node-1 ~]# yum install sos sosreport 명령어를 실행하면 /var/tmp 디렉터리 밑에 xz 압축 파일이 생성되며, 이 파일을 usb나 email 등으로 외부 PC로 이동하여 시스템에 대한 점검을 진행할 수 있다. 그리고 -o 옵션을 사용하여 원하는 정보만 수집하거나 -n 옵션을 사용하여..
rc-local이란? rc-local는 부팅 시 자동으로 스크립트를 수행하는 역할을 한다. 따라서 부팅할 때마다 자동으로 실행되기를 원하는 스크립트를 /etc/rc.d/rc.local 파일에 작성하여, 부팅 시 가장 나중에 적용하도록 한다. 먼저 rc-local 서비스의 상태를 확인해보자. CentOS 7부터 rc-local 서비스가 기본적으로 비활성화되어 있기 때문에 ConditionFileIsExecutable=/etc/rc.d/rc.local was not met이라는 에러가 뜨면서 동작하지 않는다. /etc/rc.d/rc.local 파일을 확인해보면, 부팅 시 자동으로 /etc/rc.d/rc.local 파일을 실행하려면 실행 권한을 추가해야 한다고 나와있기 때문에 실행 권한을 추가하자. 그리고 부..
이번에는 SSH 접속이 안되는 문제가 발생했다. SSH 접속이 안된다면 앞으로 이 4가지를 확인해보자. 1. 서비스 상태를 확인한다. [root@test-node-1 ~]# systemctl status sshd 2. IP를 확인한다. [root@test-node-1 ~]# ifconfig eth0 eth0: flags=4163 mtu 1500 inet 192.168.200.84 netmask 255.255.255.0 broadcast 192.168.200.255 inet6 fe80::5054:ff:fea3:28d0 prefixlen 64 scopeid 0x20 ether 52:54:00:a3:28:d0 txqueuelen 1000 (Ethernet) RX packets 5226 bytes 281174 ..
부팅을 하다가 Failed to start Crash recovery kernel arming. 에러 메시지가 발생했다. 해당 에러 메시지 위에는 /dev/sda1 디바이스가 사용 가능할 때까지 대기하다가 타임 아웃되었다고 나오고, emergency mode로 진입한 것을 알 수 있다. 일단 kdump 서비스의 상태를 확인해보자. emergency mode로 진입하면서 crash recovery kernel을 시작하지 못했기 때문에 kdump 서비스가 failed된 것을 알 수 있다. 여기서 kdump는 정확히 어떤 일을 할까? kdump(The kexec-based Crash Dumping Solution)란? 먼저 kexec는 커널 패닉이 발생했을 때 BIOS를 거치지 않고 빠르게 새로운 커널로 부팅..
네트워크 설정을 하다가 NetworkManager의 동작 여부에 따른 차이가 발생해서 NetworkManager에 대해 알아보게 되었다. 먼저 NetworkManager는 동적으로 네트워크의 변경 사항을 탐지하고 설정해 주는 데몬이다. 다시 말해, NetowrkManager가 동작하고 있으면 지속적으로 link가 plug 또는 unplug 됐는지를 체크하여 up/down으로 알려준다. 네트워크 인터페이스를 확인하고 설정하는 명령어들은 아래와 같다. 하지만 각 명령어마다 인터페이스를 down 시키는 것에 차이가 있으니 혼동하지 말아야 한다. ifconfig 명령어와 ip 명령어는 해당 인터페이스 자체를 down 시키는 것이고, 실제 link의 상태는 ethtool 명령어를 통해 확인해야 하며, ifdown..
이번에는 네트워크 인터페이스를 설정해보자. 일단 ifconfig 명령어를 통해 네트워크 인터페이스를 확인하고 설정할 수 있다. 출력 내용은 다음과 같다. flags는 네트워크 인터페이스의 상태를 나타낸다. UP(활성화 상태), BROADCAST(브로드캐스트 지원), RUNNING(실행 중인 상태), MULTICAST(멀티캐스트 지원)을 의미한다. mtu는 최대 전송 단위로, 한 번에 보낼 수 있는 최대 데이터 크기를 의미한다. inet, inet6, ether은 각각 네트워크 인터페이스에 할당된 IPv4 주소, IPv6 주소, MAC 주소를 나타낸다. 현재 eth1-4에는 IPv4 주소가 할당되어 있지 않다. RX packets와 TX packets은 받은 패킷 정보와 보낸 패킷 정보를 나타낸다. 이제 ..
리눅스를 부팅하다가 위와 같은 에러 메시지를 마주하게 된다면, 바로 /etc/selinux/config 파일 설정이 잘못된 경우다. 그렇다면 에러 메시지에 나오는 SELinux가 무엇일까? SELinux에 대해 먼저 알아보자. SELinux(Security-Enhanced Linux)란? SELinux는 말 그대로 보안이 향상된 리눅스이다. 원래는 사용자, 그룹 및 기타 권한을 기반으로 접근 권한을 부여하는 DAC(Discretionary Access Control)를 사용하여 세분화된 보안 정책을 생성할 수 없었다. 하지만 SELinux는 MAC(Mandatory Access Control)를 사용하여 모든 프로세스 및 시스템 리소스에 SELinux 컨텍스트라는 특수 보안 레이블을 통해 세분화된 보안 ..