1. LVM

- Logical Volumn Manager : 논리 하드디스크 관리자
- 여러개의 하드디스크를  한 개의 파티션으로 구성한 후 다시 필요에 따라 나누는 것


-- Server 에서 스냅샷 raid6+10 추가
(테스트 예제) 
하드디스크 2GB /single, 하드디스크 3GB /single 로 추가한 후 부팅 ▶ ls -l /dev/sd* 장치 확인  

fdisk /dev/sdb  ▶ 
Command : n  ▶ Select : p  ▶ Partition number : 1  ▶ First sector : enter  ▶ Last sector : enter  ▶ Command : t  ▶ Hax code : 8e  ▶ Command : p  ▶ Command : w 

 

fdisk /dev/sdc  ▶ Command : n  ▶ Select : p  ▶ Partition number : 1  ▶ First sector : enter  ▶ Last sector : enter  ▶ Command : t  ▶ Hax code : 8e  ▶ Command : p  ▶ Command : w

 ▶  ls -l /dev/sd* 로 확인  ▶ apt -y install lvm2 설치  ▶ pvcreate /dev/sdb1  ▶ pvcreate /dev/sdc1  ▶ 
vgcreate myLG /dev/sdb1 /dev/sdc1 (하나로 묶기) ▶ vgdisplay (확인)   lvcreate --size 1G --name myLG1 myLG
  lvcreate --size 3G --name myLG2 myLG   lvcreate --extents 100%FREE --name myLG3 myLG   ls -l /dev/myLG로 확인   mkfs.ext4 /dev/myLG/myLG1   mkfs.ext4 /dev/myLG/myLG2   mkfs.ext4 /dev/myLG/myLG3   kdir /lvm1   mkdir /lvm2   mkdir /lvm3   mount /dev/myLG/myLG1 /lvm1   mount /dev/myLG/myLG2 /lvm2   
mount /dev/myLG/myLG3 /lvm3   df 로 확인   nano /etc/fstab  

 /dev/myLG/myLG1 /lvm1   ext4    defaults        0       0  

     /dev/myLG/myLG2 /lvm2   ext4    defaults        0       0  

     /dev/myLG/myLG3 /lvm3   ext4    defaults        0       0  

reboot


(테스트 예제) - server-b에 하드디스크 4GB, 5GB 추가하고 LVM으로 3G씩 나누기
ls -l /dev/sd* 장치 확인
fdisk /dev/sdb   Command : n   Select : p   Partition number : 1   First sector : enter   Last sector : enter   Command : t   Hax code : 8e   Command : p   Command : w  

fdisk /dev/sdc   Command : n   Select : p   Partition number : 1   First sector : enter   Last sector : enter   Command : t   Hax code : 8e   Command : p   Command : w

  ls -l /dev/sd* 로 확인   apt -y install lvm2 설치   pvcreate /dev/sdb1   pvcreate /dev/sdc1   vgcreate myLG /dev/sdb1 /dev/sdc1(하나로 묶기)   vgdisplay 확인   lvcreate --size 3G --name myLG1 myLG   lvcreate --size 3G --name myLG2 myLG   lvcreate --extents 100%FREE --name myLG3 myLG   ls -l /dev/myLG로 확인   mkfs.ext4 /dev/myLG/myLG1   mkfs.ext4 /dev/myLG/myLG2   mkfs.ext4 /dev/myLG/myLG3   mkdir /lvm1   mkdir /lvm2   mkdir /lvm3   mount /dev/myLG/myLG1 /lvm1   mount /dev/myLG/myLG2 /lvm2   mount /dev/myLG/myLG3 /lvm3 df 로 확인   nano /etc/fstab  

/dev/myLG/myLG1 /lvm1   ext4    defaults        0       0
     /dev/myLG/myLG2 /lvm2   ext4    defaults        0       0
     /dev/myLG/myLG3 /lvm3   ext4    defaults        0       0

reboot


2. 계정별 디스크 설정

(테스트예제) 하드디스크에 사용자 두명에 대한 디스크 설정
하드디스크 10기가 추가   ls -l /dev/sd* 장치 확인
  fdisk /dev/sdb   Command : n   Select : p   Partition number : 1   First sector : enter   Last sector : enter   Command : p   Command : w   mkfs.ext4 /dev/sdb1   mkdir /userHome   mount /dev/sdb1 /userHome   df 확인   gedit /edt/fstab   /dev/sdb1 /userHome ext4 defaults 0 0 입력   reboot

루트    adduser --home /userHome/aaa aaa   비밀번호 a1234   이름/방번호/전화번호/기타 enter   y
루트    adduser --home /userHome/bbb bbb    비밀번호 a1234   이름/방번호/전화번호/기타 enter   y

  gedit /etc/fstab    /dev/sdb1 /userHome ext4 defaults,usrjquota=aquota.user,jqfmt=vfsv0 0 0 으로 수정   mount -option remount /userHome  (새로 설정한 값으로 마운트)   apt -y install quota   cd /userHome   quotaoff -avug (쿼터를 끄는 작업)   quotacheck -augmn  (확인)   rm -f aquota.* (쿼터 관련 파일 삭제)   quotacheck -augmn (확인)   touch aquota.user aquota.group (쿼터 관련 파일 생성)   chmod 600 aquota.* (권한 부여)   qutacheck -augmn (확인) quotaon -avug 쿼터 켜기 (turned on 안되면 reboot) 

  edquota -u aaa 사용자 aaa 에게 하드디스크 용량 할당하는 에디터 열기)
     - blocks 부분은 파일 용량 (0이면 무한대)
     - soft 는 quota까지만 쓸 수 있음
     - hard는 limit 까지 쓸 수는 있으나 grace 기간 만큼 quota만큼까지 용량을 정리해야함
     - inodes 부분은 파일의 개수 (0이면 무한대)

  blocks soft 30720 입력, hard 40960 입력 후 저장   chmod 644 /boot/vmlinuz-6.8.0-38-generic 파일 권한 변경   
su - aaa 계정을 aaa로 사용자 전환   cp /boot/vmlinuz-6.8.0-38-generic test1 (test1이라는 이름으로 위의 파일 복사)
cp /boot/vmlinuz-6.8.0-38-generic test2  (test2이라는 이름으로 위의 파일 복사)   cp /boot/vmlinuz-6.8.0-38-generic test3  (test3이라는 이름으로 위의 파일 복사)   디스크 할당량이 초과되었다는 에러메세지 뜸   ls - l 로 확인해보면 test3 파일이 용량을 다 채우지 못하고 도중에 멈춘걸로 확인됨   quota 치면 확인 가능   exit   
repquota /userHome 입력하면 사용자별로 용량 설정 확인 가능


3. 쉘

1) 환경변수


gedit name.sh  ▶ 
#!/bin/sh
echo "사용자 이름 : " $USER
echo "홈 디렉토리 : " $HOME
exit 0
▶ ls -l 해보면 name.sh 파일을 확인해보면 읽고 쓰고는 되는데 실행하는 권한이 없음 ▶ chmod +x name.sh  

▶  ls -l 해보면 권한 추가됨 ▶ ./name.sh

* 실행하는 방법
1) sh name.sh
2) ./name.sh


2) 변수선언
testval=Hello (변수 선언 - 공백 금지)
echo $testval (Hello 출력)

testval="hello 철수"
echo $testval (hello 철수 출력)

testval=7+5
echo $testval (7+5 출력)

nano var1.sh ▶ 
#!/bin/sh
myvar="Hi linux"
echo $myvar
echo "$myvar"
echo '$myvar'
echo \$myvar
echo 값 입력 : 
read myvar
echo '$myvar = '$myvar
exit 0
▶ sh var1.sh(실행) ▶ 
Hi linux
Hi linux
$myvar
$myvar
값 입력 :
linux
$myvar = linux


3) 연산


nano var2.sh ▶ 
#!/bin/sh
num1=100
num2=$num1+200
echo $num2
exit 0
▶ sh var2.sh
▶ 100+200 으로 출력

#!/bin/sh
num1=100
num2=$num1+200
echo $num2
num3=`expr $num1 + 200`
echo $num3
exit 0
▶  100+200 <br> 300 으로 출력
▶  연산을 하기 위해서는 수식을 ``로 묶어야함

#!/bin/sh
num1=100
num2=$num1+200
echo $num2
num3=`expr $num1 + 200`
echo $num3
num4=`expr \( $num1 + 200 \) / 10 \* 2`
echo $num4
exit 0
▶ 100+200 <br> 300 <br> 60 으로 출력
▶  괄호와 * 앞에는 \를 넣어줘야함

 


4) 파라미터
nano var3.sh ▶ 
#!/bin/sh
echo "실행파일 이름은 <$0> 입니다."
echo "첫번째 파라미터는 <$1> 이고,"
echo "두번째 파라미터는 <$2> 입니다."
echo "전체 파라미터는 <$*> 입니다."
exit 0
▶ sh var3.sh aaa bbb ccc ▶
실행파일 이름은 <var3.sh> 입니다.
첫번째 파라미터는 <aaa> 이고,
두번째 파라미터는 <bbb> 입니다.
전체 파라미터는 <aaa bbb ccc> 입니다.

 

* sh var3.sh * 하면 모든 파라미터 다들어감


5) if문
if [ 조건 ] -- 공백 필수
then 
   참일 경우
else
   거짓일 경우
fi

(테스트 예제)
nano if1.sh ▶
#!/bin/sh
if [ "kg" = "kg" ]
then
   echo "참입니다."
fi
exit 0
▶ sh if1.sh ▶ 참입니다. 출력

 


(테스트 예제)
nano if2.sh ▶
#!/bin/sh
if [ "kg" != "kg" ]
then
   echo "같지않다"
else
   echo "같다"
fi
exit 0
▶ sh if1.sh ▶ 같다 출력

+ Recent posts