-
<2주차> 리눅스 교육 정리!클라우드 교육/보고서! 2022. 11. 7. 08:35
1 Storage
데이터를 저장하는 공간을 뜻한다.
방식으로 분류하여 대표적으로
/ DAS / NAS / SAN /
으로 구분한다.
DAS ( Direct Attached Storage )
컴퓨터가 개발된 초기시절부터 존재했으며,
전용매체( 케이블 )로 직접 연결된다.
현재 우리가 사용하는 외장하드 개념이라고 보면된다.
가장 많이 사용하며, 저렴하고 속도가 빠르고 안정적이다.
원거리 설치가 불가하다
※ 하드디스크 연결방식으로 크게 IDE / SATA / SCSI 가 있다.
그림으로 보면
IDE 가장 오래된 규격으로 데이터를 병렬로 전송한다.
SATA IDE 이후 속도와 연결방식을 개선하기 위해 만들어졌다.
scsi 서버같은곳에 쓰여 고속으로 전송가능하다.
안정성이 아주 높지만, 가격이 비싸다.
NAS ( Network Attached Storage )
네트워크에 연결하여 사용권한이 할당된 사용자들끼리 데이터를 자유롭게 공유할 수 있는 방식이다.
100Mbps ~ 1Gbps의 네트워크 환경에 구성되며, 특징으로
저렴하며 원거리 설치가능, 파일시스템 공유가능, 구성이 쉽고 확장하기가 좋다.
속도가 느리며 병목현상이 발생하면 더 느려진다.
SAN ( Storage Area Network )
San 전용 스위치를 통해 스토리지가 연결된 서버를 광케이블로 통신하는 방식이다.
16Gbps 속도를 지원하여, 아주 빠르다.
반드시 별도의 SAN 스위치가 필요하다.
Fiber 채널로 구성되며, Host장비에는 HBA 카드 필요
특징으로
속도가 빠르며 확장성이 좋다
설치하는데 오래 걸리며 비용이 아주 비싸다
※ Windows / Linux 에서 Disk 사용 순서
Windows
Partition -> File System -> 드라이브명 할당
Linux
Partition -> File System -> 디렉토리에 Mount2. Patition
물리적인 디스크를 논리적으로 분할한다
Disk를 사용하기위해 반드시 Patition이 1개이상 필요하다
MBR 방식
▷ 주(Primary ) 4개까지만 생성가능
▷ 주 파티션중 오로지 1개만 확장파티션으로 생성가능
▷ 확장파티션은 다시 12개의 논리파티션으로 분할 가능GPT방식 ( 파티션이 작다보니 등장한 방식 )
▷ 단일 Patition이 2Tera Byte 이상이면 반드시 GPT방식 사용
▷ 주 파티션을 128개까지 생성가능3. File System
파일 및 디렉토리를 효과적으로 관리하는 시스템
Windows
FAT16 -> FAT32 ( 단일파일이 4G이상이면 인식못함. 보통 usb가 이방식이다.) -> NTFS
Linux
EXT2 -> EXT3 -> EXT4 -> XFS
EXT3, EXT4(저널링파일시스템)
파일을 삭제할 때 Log를 기록 ( 속도가 느림 )
Log를 이용해서 파일 복구 가능 ( EXT3의 느린속도를 개선한게 EXT4 )드라이브명 할당
A-Z 비어있는 드라이브명을 자동 or 수동으로 할당 가능
Mount : Linux에서 장치를 사용하기 위해서는 반드시 디렉토리와 연결※리눅스에서 장치를 추가하는 과정
하드디스크 추가 > 파티션 생성 > 파일 시스템 생성 > mount
위의 과정을 통해 하드디스크를 추가해보자.
먼저 하드디스크를 추가한다 ( sdc )
하드디스크를 추가했으면, fdisk 명령어로 추가한다.
fdisk /dev/sdc
를 하고 n
기본적으로 p로 설정되어있어서 enter를 누르면된다.
파티션 번호는 아무거나 하면된다. 기본적으로 1
파티션의 크기를 설정하는데 시작지점을 먼저 설정한다. 2048~
마지막 부분을 설정하는데, 파티션하나의 크기를 설정한다.
설정이 됐으면 w로 저장
lsblk
로 확인해보면 파티션이 생성되었다.
다음으로 디스크 파일을 만들고, mount를 하기전에 명령어를 알아보자.
mkfs.xfs /dev/sdc1
으로 파일 시스템을 만들어준다.
mount /dev/sdc1 /test1
명령어로 test1 파일에 파티션한 디스크를 연결한다.
마무리로 확인하는 방법은
mount
를 해보면, 가장 아래줄에 추가가 된것이 보인다.
4. LVM
디스크에서는 하나의 디스크를 파티션 분할하여 파일 시스템과 연결해 특정 디렉토리와 연결한다.
이 방식은 각각의 디스크마다 파티션을 분할하여 합쳐질 수 없지만,
LVM을 사용하면, 분할한 파티션을 다른 디스크에 추가할 수있다.
하지만 디스크 축소는 파일의 손실이 일어날 수 있기때문에 권유하지않는다.
아래 사진은 각각의 하드디스크들을 PV VG LV 과정으로 하나의 하드디스크처럼 인식해 파티션을 분할한 과정이다.
물리적 볼륨 > 볼륨 변환 > 볼륨 그룹 > 논리적 볼륨
현재 자신의 하드디스크를 보는 방법은
lsblk
여기에 하드디스크를 추가하고 디스크를 확장해보자.
먼저 centOS 우클릭을 하고, Settings... 를 클릭한다.
아래쪽의 Add..를 클릭하면 장치를 추가할수 있는데, Hard Disk를 클릭한다. 그 후 아래 창이 뜰때까지 next를 누른다.
나머지는 설정할게 없는데, 여기서 확장할 용량을 추가하고,
아래 single file 을 선택한다.
그 후 장치를 켜고
lsblk
를 해보면 아래 장치에 sdc가 추가된 것을 볼수 있다.
파티션 생성
fidks /dev/sdc n p enter enter enter t 8e w
로 마무리한다.
그럼 추가된 디스크가 파티션 작업이 완료되었다.
pv 생성
pvcreate /dev/sdc1
을 하고 PV 작업이 잘 되었는지
pvs
명령어로 추가 되었는지 확인한다
vg 생성
vgs
명령어로 추가할 vg의 이름을 확인한다.
그 후
vgextend sangm /dev/sdc1
명령어로 PV로 작업한 파티션을 하나로 합친다.
vgs
명령어로 VG가 추가 되었는지 확인한다.
#pvs로도 PV가 VG에 추가되었는지 알 수 있다.
LV로 설정
df -Th
명령어로 추가할 위치를 확인한다.
현재
/dev/mapper/sangm-sangm2 /home 14G
/dev/mapper/sangm-sangm3 /var 8G
이렇게 설정되어있다.
여기에 각각 5G 씩 추가해보자.
lvextend -L +5G /dev/sangm/sangm2
명령어로 추가하면 된다.
lvscan
명령어로 추가되었는지 확인해보자.
14G -> 20G
이렇게 변경된 것을 확인할 수 있다.
하지만
#df -Th
를 해보면 아직 시스템이 용량 변경이 인식되지못했다.
시스템파일의 타입에 따라 명령어를 따로 실행한다.
/home 은 ext4 이므로 아래의 명령어를 실행한다.
resize2fs /dev/sangm/sangm2
/var 은 xfs 이므로 아래의 명령어를 실행한다.
xfs_gorws /dev/sangm/sangm3
df -Th를 보면 디스크가 잘 추가되어있다.
5. 디스크 한도 설정 ( quota )
사용자나 그룹별로 디스크 사용량을 제한하는 기술
먼저 quota를 설치해보자
yum install -y quota
먼저 mount 한 추가 디스크를 생성하자.
다음으로 아래 명령어에서 vi 편집을 해준다.
vi /etc/fstab
마지막 줄처럼 추가해준다.
그후 reboot를 한다.
remount를 해도 무방하다.
mount -o remount /test
아래처럼 mount를 했을시 /dev/sdb1 의 끝에 추가한 내용이 삽입되어있으면 잘 재부팅이 되었다.
cd /quo quotacheck -F vfsv0 -avugm
으로 /quo 안에 aquota 파일을 생성해준다.
/quo에서 ls 로 확인하면 aquota.user 파일이 생성되어있다.
edquota -u a
를 입력하면 user quota 설정을 바꿀수 있다.
아래그림처럼 해석하면 된다.
Blocks는 파일의 크기를 나타내고,
inodes는 inode 값의 갯수를 나타낸다.
으로 보면된다.
이렇게 세팅하고
:wq로 저장
edquota -t
여기서는 block, inode 값 제한 날짜를 설정할 수 있다.
원하는 날짜로 세팅하고,
:wq로 저장
마지막으로
quotaon /quo
로 quota를 on 해준다
그리고 실시간으로 상황을 보기위해
#requota -a
를 root 로 해보면 현재 상황을 알수 있다.
6. 패키지
리눅스 시스템에서 소프트웨어를 실행하는데 필요한
파일들(실행 파일, 설정 파일, 라이브러리 등)이 담겨 있는 설치 파일 묶음을 말한다.
위의 그림에서 패키지는 소스 패키지와 바이너리 패키지로 구분되는데
소스 패키지는 컴파일과정을 거쳐 바이너리 파일로 변경해야 실행할 수 있다.
이 과정에서 오류가 날 수도 있고, 시간도 오래 걸리는 단점이 있다.
패키지를 통해 설치를 도와주는 대표적인 프로그램으로
yum / rpm / source
yum ( Yellodog Updater Modified )
리눅스에서 패키지를 다운받을때 가장 편리하게 사용할 수 있는 프로그램이다.
인터넷 사용이 필수라는 단점이 있지만, 패키지간의 의존성을 해결해주는 장점이 있다.
아래 그림으로 보면 이해가 편하다.
기본적으로 인터넷 상의 저장소에서 패키지를 다운받아서,
최신파일보다는 안정화된 버전을 다운받는다
하지만 하위 패키지까지 같이 받아 따로 다른 패키지들을 설치하지않아도 된다.
위의 그림을 보면,
Rpm, Source는 패키지3, 패키지5를 받고 패키지1을 받아야하고,
패키지 A는 패키지1과 패키지2가 필요하다.
그래서 총 5번의 설치가 필요하지만,
yum은 패키지A만 받으면, 필요패키지들을 다 다운받아준다.
-y를 주게 되면 모든 질문에 yes로 대답하게 된다.
Rpm ( Redhat Package Manager )
Rpm이 나오기전에는 모든 패키지를 직접 컴파일 한 후 수동으로 설치했다.
컴파일에 필요한 파일은 같이 동봉되어있었는데,
이를 풀고 설치하고 과정에 문제를 풀고,, 등등 너무 복잡했다.
이를 극복하고자 Rpm이 탄생했는데,
인터넷이 연결되어있지않아도 사용가능하지만, 의존성 문제에서는 자유롭지 못한다.
Source
커스터마이징이 가능한 장점이 있다.
설치위치나 관련된 모듈을 사용자가 임의로 지정가능하며 최신버전설치가 가능하다.
하지만 설치자체가 힘들고, 의존성 문제들이 어마어마하다..;;
가장 어렵고 불편한 방식이라 특정 조건이 필요하지 않으면 되게 불편해진다.
업데이트도 힘들다.
Source로 설치하는 방법은 총 3단계로 나뉘는데,
인터넷으로 연결이 되어있으므로,
먼저 압축된 패키지를 wget라는 명령어로 인터넷으로 받아보자.
파일의 링크주소를 복사한다.
아래처럼 설치경로로 가서 #wget '링크주소 붙여넣기'를 실행한다.
mkdir /testa cd /testa wget
파일이 설치가 되고 안의 파일을 확인해보면
파일이 보인다.
bz2압축해제로 풀면
이런식으로 압축이 풀려있다.
압축풀린 파일을 확인해보자.
여러가지 파일중에 README라고 있는데
vi README
로 확인해보면
이런식으로 설치시 주의사항을 설명해준다.
내용에 설정하란 말이 딱히 없으므로, 설치준비가 완료되었다.
설치 1단계로 설치시 환경설정을 해준다.
./configure --prefix=/testa/apr
./configure 는 압축풀면 안에 같이 동봉되어있다. 이를 실행하겠다는 의미이다.
여기서 source의 장점이 설치가 될 경로를 지정할 수 있다.
prefix 로 지정한 경로는 설치가 될 경로이고,
이를 apr이라는 파일을 만들고, apr 내부에 설치하겠다는 의미를 뜻한다.
그리고 apr은 요구하는 패키지가 더 없지만,
만일 설치시 요구하는 패키지가 있으면 이를 먼저 다운받아두고 경로를 추가로 지정해줘야한다.
엔터를 누르면 수많은 줄이 지나간다 놀라지말자
2단계로
make
3단계로
make install
로 마무리를 지으면 된다.
설치가 되면 위의 그림처럼 여러 파일들이 생성된다.
현재 설치된 apr은 apr-util 설치전 필수 파일이기에 추가로 설치 하게 된다면,
이전처럼 압축파일을 받아서 파일을 풀고
./configure --prefix=/http/aprutil --with-apr=/http/apr
위의 명령어 처럼 필수파일의 경로를 --with=로 표시한다. 설치파일이 더 있으면,
다시 --with를 추가해 설치하면된다.
'클라우드 교육 > 보고서!' 카테고리의 다른 글
<6주차> 네트워크 교육 정리! (2) 2022.12.05 <5주차> 네트워크 교육 정리! (0) 2022.11.28 <4주차> 네트워크 교육 정리! (0) 2022.11.20 <3주차> 네트워크 교육 정리! (1) 2022.11.14 <1주차> 리눅스 교육 정리! (0) 2022.10.29