- Storage 종류
- NAS
- RAID 구성
- Data 전송 방식
- iSCSI
- Linux Storage
- Disk 정보 조회
- Disk Partition
- RAID 생성
- LVM (Logical Volume Manager)
- Disk format
- Disk mount
- NTFS Mount
- Resize disk
- File System
- 분산 파일 시스템
- 가상 디스크
- 용어 정의
- 참고 문헌
Storage 관련 사항을 정리 합니다.
Storage 종류
{| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" style="line-height: 20.8px;"
|-
| width="30%" align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | Storage
| width="70%" align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | 상세
|-
| align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | DAS
(Direct Attached Storage)
align="center" valign="middle" style="background-color: rgb(238, 238, 238);" |
File Storage |
Windows에서 네트워크 드라이브로 연결
SMB (Server Message Block)의 확장 프로토콜
|-
| align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | SAN
(Storage Area Network)
| Block Storage
- 다수의 Storage와 Host를 스위치 패브릭으로 연결
- Oracle의 OCFS (Oracle Cluster File System), Veritas의 Senergy, Red Hat의 GFS (Global File System)
|}
NAS
NAS (Network Attached Storage)
NFS Client
mount –u:$uid –p:$passwd $server:/c/$folder $driver:
umount k: #--- unmount
showmount –e 서버 #--- NFS 서버 속성 보기
Sample) mount –u:kisinger –p:Imsi0000 daou-kisinger4:/c/SugarPro k:
RAID 구성
RAID (Redundant Array of Independents Disks)
{|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center"
|-
|width="20%" align="center" valign="middle" style="background-color:#eee;"|저장 방식
|width="80%" align="center" valign="middle" style="background-color:#eee;"|상세 |- |align="center" valign="middle" style="background-color:#eee;"|RAID Level 0 |Striping (스트라이핑)
하나의 데이터를 여러개의 디스크에 분산하여 저장
장점 : 빠른 I/O
단점 : 낮은 안정성 align="center" valign="middle" style="background-color:#eee;" Mirroring (미러링)
하나의 데이터를 두개의 디스크에 중복하여 저장
장점 : 데이터의 안전성 보장
단점 : Disk의 저장 용량의 50% 감소 align="center" valign="middle" style="background-color:#eee;" Disk 3개와 별도의 패리티 디스크로 구성, 순차적 파일 저장에 유리
장점 : 1개의 디스크 손상을 복구, 서비스 무중단
단점 : 디스크 한개만큼 용량 감소
RAID 3 + Spare : Disk 3개 중 하나가 비어 있고 하나의 디스크 장애시 이 빈 디스크를 사용하여 복구
단점 : 디스크 2개만큼 용량 감소 align="center" valign="middle" style="background-color:#eee;" Parity
N - 1개의 그룹은 데이터를 저장하고 1개의 그룹은 parity 데이터를 저장
장점 : RAID 0 대비 높은 안정성, RAID 1 대비 뛰어난 성능
단점 : 쓰기시 부하가 걸림 align="center" valign="middle" style="background-color:#eee;" Distribute Parity
RAID 4와 유사하나 Parity disk가 그룹별로 분산 되어 있음
최소 3개 이상의 디스크에서 특정 블록을 패리티 블록으로 사용, 무작위 읽기에 유리
장점 : RAID 4 대비 병목 현상을 줄임
장점 : 1개의 디스크 손상을 복구, 서비스 무중단 align="center" valign="middle" style="background-color:#eee;" 두개의 패리티 블록을 사용
RAID 5에서 Parity disk를 2개씩 가져감
장점 : RAID 5 대비 안정성 증가 (디스크 2개까지의 손상을 허용)
단점 : RAID 5 대비 비용 증가 align="center" valign="middle" style="background-color:#eee;" RAID 0를 먼저 적용하고 RAID 1을 적용 align="center" valign="middle" style="background-color:#eee;" RAID 1 + 0
미러링된 세트의 스트라이프
RAID 1를 먼저 적용하고 RAID 0을 적용 align="center" valign="middle" style="background-color:#eee;" Just a Bunch Of Disks
여러개의 디스크를 하나의 논리적인 디스크로 결합 align="center" valign="middle" style="background-color:#eee;" 일반 HDD와 SSD를 RAID로 엮어서 속도 향상
|}
Data 전송 방식
PATA (Parallel Advanced Tachnology Attachment, IDE) : 병렬 방식
SATA (Serial Advanced Technology Attachment, Serial ATA) : 직렬 방식
SATA 1 : 초당 150MB
SATA 2 : 초당 300MB
AHCI (Advanced Host Controller Interface) : SATA 장치들과 신호를 주고 받을 수 있는 H/W 구조
NCQ(Native Command Queuing) : SATA 장치의 성능을 향상하기 위해 입출력(I/O) 요청을 우선 큐에 보관한 다음, 전체 헤드의 움직임을 최소화할 수 있도록 요청의 순서를 재배열한 다음 실행하는 방식
*SCSI (Small Computer System Interface) : 병렬 방식
iSCSI : Ethernet망에서 TCP/IP 상에 SCSI를 구현하는 기술
SAS (Serial Attached SCSI) : 직렬 방식
FC (Fibre Channel)
FCoE (Fibre Channel over Ethernet) : Ethernet망에서 TCP/IP를 사용하지 않고 SCSC를 구현하는 기술
*10Gb 이더넷 기반의 CEE/DCE는 해당 기능이 지원되는 Switch와 CNA가 필요
*CEE (Converged Enhanced Ethernet) 또는 DCE (Data Centre Ethernet)를 지원하는 Ethernet 환경에서 동작
*CNA (Converged Network Adapter) : NIC (Network Interface Card, Ethernet용 카드) 와 HBA (Host Bus Adaper, FC용 카드) 기능을 수행하는 네트워크 어댑터
Memory
DIMM (Dual In-Line Memory Module) : 여러 개의 DRAM 칩을 회로 기판 위에 탑재한 메모리 모듈
ECC (Error-Correcting Code) : 입력 테이타에 일정한 redundancy를 추가해 error를 검출 및 수정하는 code
참고 문헌
iSCSI
참고 문헌
Linux Storage
Disk 정보 조회
lsblk lsblk --output "NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,LABEL" fdisk -l parted --list blkid df -h df -m du -m
Disk Partition
partition's system id
{| border="1" cellspacing="0" cellpadding="1" style="width:100%;"
|-
| style="text-align: center; background-color: rgb(153, 153, 153);" | ID
| style="text-align: center; background-color: rgb(153, 153, 153);" | Description
|-
| style="text-align: center;" | 83
Linux |
---|
style="text-align: center;" |
Linux LVM (Logical Volume Manager) |
- |
style="text-align: center;" |
GPT (GUID Partition Table) <--> MBR (Master Boot Record) 2 TB 이상의 Partition 지정 가능 |
- |
style="text-align: center;" |
Linux raid auto |
} |
Partition 생성
yum -y install parted 1. --- parted /dev/vdb print parted /dev/vdb help [~](~.md) mklabel gpt print quit parted /dev/vdb mkpart primary xfs 0 100% parted /dev/vdb print
Partition 생성
fdisk /dev/xvdb //--- n p 1 엔터 엔터 //--- w fdisk -l
RAID 생성
yum install mdadm modprobe raid456 1. --- RAID 0 mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/vdd1 /dev/vde1 mdadm --detail --scan /dev/md0 >> /etc/mdadm.conf mdadm --detail --scan mdadm --detail /dev/md0 cat /proc/mdstat
RAID 삭제
mdadm --detail /dev/md0 mdadm -S /dev/md0 mdadm --zero-superblock /dev/vdd mdadm --zero-superblock /dev/vde 1. mdadm --remove /dev/md0
참고 문헌
LVM (Logical Volume Manager)
yum -y install lvm2 lvm2-* fdisk /dev/sdb //--- n p 1 엔터 엔터 //--- t 8e //--- w fdisk -l pvcreate /dev/sdb1 vgcreate vg_data /dev/sdb1 lvcreate -l 100%FREE -n lv_data vg_data 1. lvcreate -L 19.99G -n lv_data vg_data pvscan pvdisplay vgscan vgdisplay lvscan lvdisplay
Disk format
yum -y install xfsprogs #--- For mkfs.xfs mkfs.ext4 /dev/vg_data/lv_data mkfs.xfs /dev/vg_data/lv_data
참고 문헌
Disk mount
마운트
mkdir /nas
lvdisplay
mount /dev/vg_BigData001/lv_BigData001 /nas
### mount -t ext4 /dev/vg_BigData001/lv_BigData001 /nas
mount #--- Mount 상태 보기
umount /dev/vg_BigData001/lv_BigData001
df -m
#--- 원격 파일 시스템 마운트
mount -t nfs 172.18.38.398:/vol/CCHDATA01A/diska /user
#--- 윈도우 파일 시스템 마운트
mount -t cifs 윈도우_IP/diska /user/disk
mount : Disk Mount
[~](root@manage)# cd /
[/](root@manage)# mkdir data
[/](root@manage)# mount /dev/DataVG/data /data
[/](root@manage)# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/xvda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/mapper/DataVG-data on /data type ext3 (rw)
리부팅시 자동 마운트 설정
vi /etc/fstab
/dev/vg_BigData001/lv_BigData001 /nas ext4 defaults 1 2
vi /etc/fstab : 리부팅시 자동 마운트 설정
/# vi /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
/dev/DataVG/data /data ext3 defaults 1 2
#--- 반드시 fdisk -l로 확인한 /dev/mapper/vg_data-lv_data 를 입력할 것
/dev/mapper/vg_data-lv_data /data xfs defaults 0 0
참고 문헌
[가상 하드 관리](VirtualBox.md#가상 하드 관리.md)
NTFS Mount
작업 환경
CentOS 6.5가 설치된 노트북에 2개의 디스크가 있고 그 중 하나는 NTFS로 포맷되어 Windows에서 사용 중
NTFS 디스크 마운트 하기
우선 마운트를 하기 위해서 EPEL을 설정하고 NTFS 마운트용 패키지를 설치 합니다.
# wget [http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm](http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm)
wget [http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm](http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm)
rpm -Uvh epel-release-6-8.noarch.rpm
yum install ntfs-3g
NTFS로 포맷된 디스크(/dev/sdb1)를 마운트 합니다.
mkdir /ntfs
mount -t ntfs-3g /dev/sdb1 /ntfs
Linux를 새로 부팅할 때 자동으로 마운트 되기를 원하면 아래와 같이 설정 합니다.
vi /etc/fstab
/dev/sdb1 /ntfs ntfs-3g defaults 0 0
참고 문헌
Resize disk
resize2fs /dev/mapper/VolGroup-lv_root
File System
{| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center"
|-
| width="20%" align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | File System
| width="80%" align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | 상세
|-
| align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | Ext
(Extended File System)
ext, ext2, ext3 ext4 (fourth extended filesystem) |
---|
align="center" valign="middle" style="background-color: rgb(238, 238, 238);" |
GNU GPL 백업 및 복구 능력이 뛰어난 파일 시스템 |
- |
align="center" valign="middle" style="background-color: rgb(238, 238, 238);" |
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/cloud/Storage/NativeZFSOnLinux |
- |
align="center" valign="middle" style="background-color: rgb(238, 238, 238);" |
GNU GPL mkfs.xfs http://xfs.org/index.php/Main_Page |
mkfs.xfs -f -b size=512 -l size=32768b -d agcount=1 -n size=16k /dev/sdb1 ;\
mount -o noatime,nodiratime,logbufs=8 /dev/sdb1 /mnt/test
|-
| align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | ReiserFS
align="center" valign="middle" style="background-color: rgb(238, 238, 238);" |
- |
align="center" valign="middle" style="background-color: rgb(238, 238, 238);" |
FAT FS (File Allocation Table File System) NTFS (New Technology File System) |
} |
참고 문헌
분산 파일 시스템
GlusterFS
Ceph
FreeNAS
Lustre
가상 디스크
이미지 생성
qemu-img create -f qcow2 -o preallocation=metadata test.qcow2 100G
이미지 용량 증가
VBoxManage modifyhd ~.vdi --resize 20480
이미지 용량 감소
qemu-img convert -c -O qcow2 source.qcow2 target.qcow2
VBoxManage modifyhd ~.vdi --compact
이미지 복제
VBoxManage clonevdi 원본.vdi 타겟.vdi
VBoxManage clonehd ~.vmdk ~.vdi --format vdi
이미지 포맷 변환
qemu-img convert -O vdi test.qcow2 test.vdi
이미지 내용 수정
yum install guestfish -y
guestfish –rw -a /cloudimages/disk/CentOS-6.5.qcow2
run
list-filesystems
mount /dev/sda1 /
edit /etc/fstab
exit
virt-edit centos-6.5-3 /etc/fstab
용어 정의
{| border="1" cellspacing="0" cellpadding="2" style="width: 100%;"
|-
| style="text-align: center; background-color: rgb(241, 241, 241);" | 용어
| style="text-align: center; background-color: rgb(241, 241, 241);" | 상세
|-
| style="text-align: center;" | ROM
Read Only Memory |
---|
style="text-align: center;" |
Mask ROM 메모리 생산시 한번만 write 가능 |
- |
style="text-align: center;" |
Programmable ROM, Field Programmable ROM 사용자가 단 1회 write 가능 |
- |
style="text-align: center;" |
Erasable Programmable ROM, Ultra-Violet EPROM 자외선을 사용하여 재기록이 가능한 메모리 |
- |
style="text-align: center;" |
Electrically Erasable Programmable ROM 전기신호를 사용하여 재기록이 가능한 메모리 |
- |
style="text-align: center;" |
바이트 단위가 아닌 블록 단위 (512 Bytes 등)로 기록하는 EEPROM Flash Memory : USB NAND Flash Memory : SSD 방식의 하드디스크 |
- |
style="text-align: center;" |
Random Access Memory |
- |
style="text-align: center;" |
Dynamic RAM. 정기적으로 refresh가 필요 일반 PC 메모리로 사용 |
- |
style="text-align: center;" |
Static RAM CPU의 캐시 메모리로 사용 |
- |
style="text-align: center;" |
Non-Volatile RAM 전원이 차단 되어도 데이터가 사라지지 않는 RAM 방식 1 : 외부 배터리 방식 방식 2 : EEPROM과 연동 방식 |
} |
참고 문헌
NAS 참고 문헌
Windows 용 NFS Server : http://ko.sourceforge.jp/projects/sfnet_winnfsd/ (오픈소스)
winnfsd –id $uid $gid –log off $folder
http://technet.microsoft.com/ko-kr/library/dd758767(v=ws.10).aspx
[CentOS#NFS_설정](CentOS.md#NFS 설정.md)
http://www.microsoft.com/en-us/download/details.aspx?id=7562
[http://www.nexentastor.org/ Nexentastor], http://nexenta.com/corp/downloads
[[Category:Storage|Category:Storage]]
분류: Cloud