장치 관리(EX: 디스크 장치 관리)
[ 장치를 장착하고 그 장치를 쓸 수 있는 상태까지 ]
디스크 장착
* 장치 인식 작업 [ 인식이 되면 운영체제 안에다가 장치파일을 만드는것 ]
(systemd-udevd.service)
* 파티션 작업 [ C, D ,E 등등 ]
(fdisk CMD)
* 파일 시스템 작업 [ D드라이브 포맷 , E 드라이브 포맷 , NTfs REfs 파일 시스템 만들겠다 등등 ]
(mkfs CMD)
* 마운트 작업
(mount CMD, /etc/fstab)
서버 관리자 과정
1. 장치 인식(Device Reconfiguration)
(선수지식)
디스크 구조 : sector -> track -> cylinder -> partition -> disk
디스크 종류:
* IDE(SATA)
* SCSI(SAS)
* SSD
디스크 이름 체계 #디스크의 종류와 관계가 있다
* IDE DISK: /dev/hda, /dev/hdb, /dev/hdc, /dev/hdd [Hard disk Drive]
* SCSI DISK: /dev/sda, /dev/sdb, /dev/sdc, /dev/sdd
* Virtual DISK: /dev/vda, /dev/vdb, /dev/vdc, /dev/vdd
(2) 장치인식 작업
디스크 추가
* PowerOFF
* 디스크 장착
* PowerON
* lsblk --fs -p //어떤 디스크가 장착이 됬는지 금방 알 수 있다.
파티션 작업
(1) 선수지식
파티션 종류
* BIOS F/W -> MBR 파티션 형식 (옛날거)
* UEFI F/W -> GPT 파티션 형식 (요즘거)
파티션 이름 체계(MBR 파티션 형식)
* Primary partition(P1 ~ P4)
* Extended partition
- Logical partition(L5 ~ L15)
파티션 이름 체계(GPT 파티션 형식)
* partition(1-128)
(2) 파티션 작업 툴
* fdisk CMD // 주로 2tb이하 작업할때
* gdisk CMD // 주로 2tb이상 작업할때
* parted CMD
# fdisk /dev/sdb
# fdisk -l /dev/sdb
# gdisk /dev/sdb
# gdisk -l /dev/sdb
# parted /dev/sdb
# parted /dev/sdb print
(1) 선수지식
파일 시스템 정보 확인
# man -k ext4|xfs
# man 5 fs
[ 이 두가지는 출력내용이 동일하다 ]
파일시스템 종류
* ext3/ext4, xfs
파일시스템 구조(ex: ext4)
파일 시스템 정보 확인
# man -k ext4|xfs
# man 5 fs
[ 이 두가지는 출력내용이 동일하다 ]
파일시스템 종류
* ext3/ext4, xfs
[ 파일시스템 정보 확인 ]
# dumpe2fs /dev/sdb1 (# tune2fs -l /dev/sdb1 )
# xfs_info /dev/sdb1
(2) 파일시스템 작업
mkfs CMD (Make File System)
# mkfs -t ext4|xfs /dev/sdb1
# mkfs.ext4|xfs /dev/sdb1
[참고] minfree
# mkfs.ext4 -m 1 /dev/sdb1
(설정 할때)
# tune2fs -m 1 /dev/sdb1
(수정 할때)
[실무예] 파일시스템 풀(full) (서비스 중지 상태)
1) tune2fs -m 1 /dev/sdb1 (임시적으로 시간 벌기)
2) 불필요한 파일 지우기 (임시적으로 시간 벌기)
3) 원인분석
마운트 작업( mount CMD, /etc/fstab )
마운트 확인
# df -k /* 마운트 상황 정보, 디스크 사용량 점검 확인 */
# mount /* 마운트 옵션 정보 확인, 마운트 시간 확인 */
마운트 관련 파일들
/etc/mtab 현재 마운트된 정보를 담는다.
/etc/fstab 부팅시에 마운트 할 만한 정보를 담는다.
마운트 관련 명령어들
mount CMD
# mount [-t ext4] [-o OPTIONS] /dev/sdb1 /mnt/server
-t ext4 : ext3|ext4|xfs|nfs|...
-o OPTIONS : defaluts, ro, noatime, nosuid
umount CMD
# umount /mnt/server|/dev/sdb1
[실무예] "/home is busy"
# fuser -cu /home
# fuser -ck /home
# umount /home
mount -a CMD (/etc/fstab 읽어드림)
umount -a CMD (/etc/mtab 읽어드림)
기타 마운트 관리
(1) CD/DVD 마운트
(자동으로 마운트 되는 경우)
Automount
# cd /run/media/<$USER>/<$LABELL> (mount pointer는 자동으로 결정된다.)
# cd ; umount /run/media/<사용자이름>/<LABEL이름>
(수동으로 마운트 하는 경우)
# mkdir -p /mnt/cdrom
# mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom ; ls
# cd ; umount /mnt/cdrom
(2) ISO 이미지 파일 마운트
(수동으로 밖에 안된다)
# mkisofs -o /test/linux.iso /etc/sysconfig/* (ISO 이미지 파일 만들고)
# mkdir -p /mnt/iso (마운트 포인터 생성)
# mount -t iso9660 ro,loop /test/linux.iso /mnt/iso
# cd /mnt/iso ; ls
# cd ; umount /mnt/iso
(3) USB 메모리 마운트
FAT32
(자동 마운트)
Automount
# cd /run/media/$USER/$LABEL ; ls
# cd ; umount
(수동 마운트)
# mkdir -p /mnt/usb
# mount -t vfat /dev/sde2(확인해야함) /mnt/usb
# cd /mnt/usb ; ls
# cd ; umount /mnt/usb
NTFS
# yum -y install epel-release
# yum -y install ntfs-3g
(자동 마운트)
Automount
# cd /run/media/$USER/$LABEL ; ls (저기가 mount pointer 다)
# cd ; umount (다 쓰고나면 umount 해주자)
(수동 마운트)
# mkdir -p /mnt/ntfs
# mount.ntfs /dev/sde2 /mnt/ntfs
# cd /mnt/ntfs ; ls
# cd ; umount /mnt/ntfs
(4) RAM DISK 마운트
(수동 마운트)
# mkdir -p /mnt/ram
# mount -t tmpfs -o size=5g none /mnt/ram
# cd /mnt/ram ; ls
# cd ; umount /mnt/ram
(5) NFS 원격 마운트 (다른 사람 자원 쓰는거)
(자동도 되긴함)
[전제조건] 원격 서버에 공유 설정이 되어 있어야 한다.
(수동 마운트)
# mkdir -p /mnt/nfs
# mount -t nfs server2:/share /mnt/nfs
# cd /mnt/nfs ; ls
# cd ; umount /mnt/nfs
(6) CIFS 원격 마운트
[전제조건] 원격 서버에 공유 설정이 되어 있어야 한다.
(수동 마운트)
# mkdir -p /mnt/cifs
# mount -t cifs -o soldesk //172.16.6.7/share /mnt/cifs
# cd /mnt/cifs ; ls
# cd ; umount /mnt/cifs
mount -t cifs //172.16.6.7/share /mnt/cifs -o username=soldesk