리눅스 서버- 5

박형준·2024년 3월 18일
post-thumbnail

리눅스 서버- 4 요약

  • *절대 경로 / 상대 경로 pwd
    /부터시작
    cp mv vi /etc/sysconfig~ ,

  • 압축 , [xz= J, bzip2= j, gzip= z ],
    묶기 와 압축을 함께 .. tar 옵션( x,cvf
    파일명.tar.xz 압축할 재료 )
    bunzip2, gunzip, zip, compress

  • *예약 관련 at, crontab/crond

    • at 시간/날짜
      실행할 명령어 Ctrl+ D
      #atls atrm [번호]

    • #/etc/crontab == > 여기 폴더내 해당디렉터리에 기록.
      분 시간 일 월 요일 실행계정 실행파일위치
      00 /4 01 (0~6) 1-5(월~금)

  • *네트워크 관련

    • #nmtui == > IP설정가능(자,수)
      systemctl [ status, stop, start, restart ] NetworkManager

    • /etc/syscofig == > 네트워크 관련 설정파일
      /etc/sysconfig/network-scripts/ifcfg-ens160 == > 랜카드 설정파일
      #vi(gedit) /etc/resolv.conf == >DNS 설정 파일.
      #hostname /etc/hosts == > 여기에 호스트 이름을 등록.

  • *리다리렉션( >, >> ,< , <> )
    #ps -ef > pstest.txt
    #ls -I /etc/passwd >> pstest.txt == > 기존 내용아래 저장

    1. NS설정 파일 :
      #vi /etc/resolv.conf
    1. hostname
      #hostname soldesk ⇒ 1회성 호스트 이름 변경.
      #hostnamectl set-hostname sol ⇒ 영구 변경

호스트 이름 바꿔주기

  • #hostname soldesk(일회성)
  • #vi /etc/hosts(영구 수정) ⇒

*프로세서 : (실행 프로그램 )

  • 포그라운드 프로세스 : 앞에서 동작하는 프로그램
  • 백그라운드 프로세스 : 뒤에서 동작하는 프로그램
  • 프로세스 번호 부여됨. ps -ef

프로세서

  • 프로세서는 -ef 옵션 자주 사용
  • PID: 자식 프로세서, PPID: 부모 프로세서, 부모 프로세서 삭제하면 자식 프로세서 자동 삭제
  • 부모 프로세서가 죽은 자식 프로세서 : 좀비 프로세서
  • 윈도우에서는 자식 프로세서 있으면 부모 프로세서 삭제 불가능

*부모 프로세스 와 자식 프로세스
부모에서 파생된 프로세스를 자식. = pstree

*kill [프로세스 번호 ] , kill -9 [프로세스 번호]

  • #yes > /dev/null ⇒ 무한 루프 파일 생성
    • 새로 창을 열어서 ps -ef | grep yes
    • #kill -9 번호
    • #yes > /dev/null ⇒ ctrl + z 중지
  • #bg [번호] ⇒ 포 그라운드 로 동작중인 것을 백 그라운드 전환
  • #fg [번호] ⇒ 백 ⇒ 포그라운드로 불러오는 것.
  • 무한 루프
  • 무한 루프 죽이는 것
  • 무한 루프 사라짐
  • -9 옵션 : 강제로 죽이는 것
  • bg: back ground
    fg: fore ground

*jobs, bg %번호 , fg %번호 , kill %번호 , kill -9 PID ⇒ 강제종료

  • #yes > /dev/null ⇒ 무한루프파일 생성
    • 새로 창을 열어서 ps -ef | grep yes
  • #vi ctrl+z
    • #yes > /dev/null ctrl + z +가 붙어 있는것이 가장최근.

프로세서 명령어

  • 작업 실행
  • jobs 명령어로 작업중인 프로세스 확인
  • [root@centos ~]# fg %3 : fore 그라운드로 3번 프로세스 실행
    [root@centos ~]# kill -9 %1 : 1번 프로세스 죽이는 것

*응급복구 [ root의 비번을 잊어 버려서 재 설정 하고 로그인 하기 ]

재부팅을 하면서. 맨 윗줄 선택 하고 키보드 e키

  • /swap rhgb quiet 삭제 하고 ⇒ init=/bin/sh ⇒ 쉘 모드로 부팅 시키기
    • 변경 후 Ctrl + X
  • sh-4.4#whoami ⇒ root
    • #passwd root
      4321 두번 입력 하면 에러 ⇒ 쓰기금지 ..
    • #mount ⇒ 권한을 확인 하면 ro ⇒ rw
      #mount -o remount,rw / ⇒ /(루트)디렉터리에 쓰기 기능 추가하고 다시 마운트
  • 기존에 ro ⇒ rw 로 변경 확인
    • 다시 패스워드 설정 4321 설정 하고 재부팅은 전원 버튼으로 해서 4321 로 로그인 해보기
      ⇒ 쉘 모드에서는 명령어 안됨.

응급 복구(런 레벨 1번[싱글 모드]로 실행)

  • 사용자는 root, 패스워드 변경 에러(쓰기 권한 x)
  • ro : read only 읽기만 가능
  • mount 연결어로 읽고, 쓰기 권한 부여 하고 다시 연결
  • ro -> rw로 변경
  • 비밀번호 변경 성공

*하드디스크 추가 ( SCCI )

  • power의 firmware를 통해 bios를 켜기
  • NVMe 를 맨 위로 이동 후 esc F10 저장 빠져나옴(부팅 -> NVMe를 우선)

6장. 하드디스크 관리와 사용자별 공간 할당

IDE 장치와 SCSI 장치의 구성 (1)

swap 공간은 필수로 있어야 한다.


IDE 장치와 SCSI 장치의 구성 (2)

  • SCSI 장치에 하드디스크 확인

  • 하드디스크를 물리적으로는 /dev/sda, /dev/sdb, /dev/sdc ... 형식으로 부름
  • 디스크 파티션이 나눠진 것을 논리적으로는 /dev/sda1, /dev/sda2, /dev/sda3, /dev/sdb1, /dev/sdb2 ... 형식으로 부름
  • 윈도우는 하드가 sda, sdb, sdc순으로 리눅스는 sda1, sda2, sda3 순으로 IDE하드는 ih1, ih2 순으로 하드가 나눠진다.
  • sda1, sdb1, sdb2로 파티션을 나눠서 순서를 나누기도 한다.

하드디스크 추가하기 – 1개

  • 하드디스크 1개 추가 하드웨어 구성

  • 장착된 디스크의 이름은 /dev/sdb
  • 논리적인 파티션의 이름은 /dev/sdb1
  • 파티션을 그냥 사용할 수 없으며 반드시 특정한 디렉터리에 마운트 시켜야만 사용이 가능(하드 디스크를 연결할 때 마다 마운트를 해줘야한다.)

LVM 개념(1)

  • LVM(Logical Volume Manage) 개념 이해

    • LVM 주요 기능

      • 여러 개의 하드디스크를 합쳐서 한 개의 파일시스템으로 사용하는 것으로 필요에 따라서 다시 나눌 수 있다.
      • 예로 2TB 용량의 하드디스크 2개를 합친 후에 다시 1TB와 3TB로 나눠서 사용할 수 있다.
    • 용어

      • Physical Volume(물리 볼륨) : /dev/sda1, /dev/sdb1 등의 파티션
      • Volume Group(볼륨 그룹) : 물리 볼륨을 합쳐서 1개의 물리 그룹으로 만드는 것
      • Logical Volume(논리 볼륨) : 볼륨 그룹을 1개 이상으로 나눠서 논리 그룹으로 나눈 것

LVM 개념(2)
• LVM을 구현하려고 하드디스크 2개를 추가한 구성도


사용자별 공간 할당 - 쿼터

쿼터(Quota) 개념

  • 파일시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것

  • 파일시스템을 “/”로 지정하는 것보다는, 별도의 파일시스템을 지정해서 해당 부분을 쓰도록 하는 것이 좋음

  • “/”파일시스템을 많은 사용자가 동시에 사용하게 되면, CentOS 서버를 운영하기 위해서 디스크를 읽고 쓰는 작업과 일반 사용자가 디스크를 읽고 쓰는 작업이 동시에 발생하므로 전반적으로 시스템의 성능이 저하됨


*하드디스크 관리

  • 주요 내용 요약

1. *FDisk = 파티션 만들기

  • *Fdisk ? 하드 장착 후 파티션을 생성/삭제 및 관리하는 명령어.
  • #fdisk -l 목록확인
  • #fdisk -l /dev/sd* - 세부 목록 확인

하드디스크 관리

  • fdisk 명령어로 하드디스크 관리(목록 확인)
  • #fdisk /dev/sda
    Command (m for help): m 엔터

    • d delete a partition -> 파티션 삭제
    • l list known partition types
    • n add a new partition -> 파티션 추가
    • p print the partition table -> 파티션 목록 확인
    • t change a partition type ⇒ RAID, LVM 등의 작업을 할때 파티션 타입 확인
    • w write table to disk and exit -> 저장하고 나오기
  • n ⇒ 엔터(P) ⇒ 엔터(1) ⇒ 엔터(2048) ⇒ +5G
    n ⇒ 엔터(e) ⇒ 엔터(1) ⇒ 엔터 ⇒ +15G w(저장) 빠져나옴
    n ⇒ 엔터(l) ⇒ 엔터 ⇒ 엔터 ⇒ w(저장) 빠져나옴

  • 프라이머리 파티션은 최대 4개 생성
  • 기본 생성은 프라이머리(프라이머리 생성후 extended 생성후 logical 파티션 생성)
  • 기본 프라이머리는 1번
  • 섹터 0~2047은 하드디스크 정보를 담는 곳, 2048부터 하드디스크를 생성(기본 2048)
  • 크기 지정(기본은 41943039byte)
  • last sector만 주의
  • 옵션 p(생성된 파티션 확인)
  • logical 파티션은 5번 부터
  • 생성된 파티션 확인
  • 보기 쉽게 확인

쓸수 있는 파티션 2개 -> 프라이머리 1개, 로지컬 1개, extended는 제외

  1. *파일 시스템 ( 윈도우:FAT, NTFS / ext4 )
  • #mkfs.ext4 /dev/sda1
  • #mkfs -t ext4 /dev/sda5

3. 마운트

  • #mkdir /mydata1 mydata2 생성 후 anaconda파일을 이름 변경해서 mydata에 넣기
    • [root@centos ~]# cp anaconda-ks.cfg /mydata1/aaa
    • [root@centos ~]# cp anaconda-ks.cfg /mydata2/bbb
  • #mount 장치명 폴더명경로
    • [root@centos ~]# mount /dev/sda1 /mydata1
    • [root@centos ~]# mount /dev/sda5 /mydata2
  • #mount
    • /dev/sda1 on /mydata1 type ext4 (rw, relatime)
    • /dev/sda5 on /mydata2 type ext4 (rw, relatime)

*마운트

  • 마운트 명령어로 연결
  • 마운트 명령어로 확인
  • 마운트 하기전에 폴더는 그냥 폴더, 마운트로 연결 후엔 폴더가 안보이고 연결된 하드가 보인다 그전에 복사한 파일은 안보인다.
  1. /etc/fstab 등록 ⇒ 재부팅을 해도 마운트가 풀리지 않게
  • -> 필드가 6개
  • *defaults : 읽기, 쓰기 이런체크 가능
  • *덤프(백업기능) : 0은 백업기능을 끄기, 1은 켜기
  • 파일시스템 체크 : 0 - 2 / 0은끄기, 1,2 숫자는 먼저체크하는 순서로 1이 먼저 체크

/etc/fstab 등록

  • gedit을 통해 등록
  • *재부팅 후 mydata1, mydata2 확인 ⇒ sd5 파티션은 fstab에 등록을 안해서 마운트가 자동해제됨.
    AAA , bbb
  • *lost+found 파일? 파일은 파티션 생성시에 파티션의 정보를 기록하는 파일로 복구시에 활용됨.
  • */dev/sda5 ⇒ /etc/fstab에 등록하기 재부팅 폴더 확인 ⇒ BBB 가 보임.
  • 1번과 5번을 마운트 했을 때, 마운트 하고 재부팅하는 순간 5번 디스크가 마운트가 끊어지면서 하드 디스크가 아닌 폴더가 보인다.(AAA는 하드 디스크, bbb는 폴더)
  • 1번 디스크 마운트를 끊자 하드디스크가 아닌 폴더가 보인다(재부팅해도 파일 시스템에 등록되어 있어서 마운트가 끊기지 않는다.)

Command (m for help): t
Partition number (1,5, default 5): 엔터
Hex code (type L to list all codes): l(엘) 입력해서 코드 값확인 (LVM=8e, RAID=fd)


*SCSI : 20G-1 , 10G-8개 SCSI로 추가 하고 부팅 후 = 스냅샷2.
Hostname : soldesk

*레이드 구축

  1. Fdisk ⇒ 레이드용으로 파티션 생성 ( RAID 0.1.5= 동일한 용량으로 )

*Linener RAID : sdb / sdc

  • fdisk /dev/sdb~j n, 엔터4번 / t, [L] fd, p, w
    • 나머지도 똑같이 반복해서 …
  • mdadm 명령어 사용
    • 연결 완료
  • madam 명령어를 통해 가상 볼륨을 생성하여 레이드 지정

*파일 시스템 및 마운트 연결

  • [root@sodesk ~]# mkfs -t ext4 /dev/md9
  • [root@sodesk ~]# mkdir /testmd9
  • [root@sodesk ~]# mount /dev/md9 /testmd9

*vi 편집기를 이용하여 fstab 설정

*연결된 하드에 파일 복사 후 재부팅해도 연결되어있는지 확인

  • #cp anaconda~ /testmd9/AAA
    • #init 6 으로 재부팅 후 파일 확인
    • [root@sodesk ~]# df -h /testmd9
  • df -> diskfree 디스크 용량 확인
  • 옵션 -h 는 사람이 보기 편하게 하는 것

0개의 댓글