"Storage"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
잔글 |
잔글 |
||
(같은 사용자의 중간 판 56개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
Storage 관련 사항을 정리 합니다. | Storage 관련 사항을 정리 합니다. | ||
− | ==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<br/>(Direct Attached Storage)<br/> | |
+ | | <br/> | ||
+ | |- | ||
+ | | align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | NAS<br/>(Network Attached Storage)<br/> | ||
+ | | File Storage<br/><ul style="line-height: 20.8px;"> | ||
+ | <li>이더넷으로 클라이언트와 통신</li> | ||
+ | <li>NFS (Network File System) 지원</li> | ||
+ | <li>CIFS (Common Internet File System) 방식 지원</li> | ||
+ | </ul> | ||
+ | |||
+ | :*Windows에서 네트워크 드라이브로 연결 | ||
+ | :*SMB (Server Message Block)의 확장 프로토콜 | ||
+ | |||
+ | |- | ||
+ | | align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | SAN<br/>(Storage Area Network)<br/> | ||
+ | | Block Storage<br/><ul style="line-height: 20.8px;"> | ||
+ | <li>다수의 Storage와 Host를 스위치 패브릭으로 연결</li> | ||
+ | <li>Oracle의 OCFS (Oracle Cluster File System), Veritas의 Senergy, Red Hat의 GFS (Global File System)</li> | ||
+ | </ul> | ||
+ | |||
+ | |} | ||
+ | === NAS === | ||
− | * | + | NAS (Network Attached Storage) |
− | :* | + | |
− | :* | + | *NFS Client |
+ | |||
+ | :*[http://technet.microsoft.com/ko-kr/library/cc754350.aspx http://technet.microsoft.com/ko-kr/library/cc754350.aspx] | ||
+ | :*[http://blog.cuongnv.com/2009/11/windows-7-client-for-nfs-and-user-name.html http://blog.cuongnv.com/2009/11/windows-7-client-for-nfs-and-user-name.html] | ||
+ | :*[http://pic.dhe.ibm.com/infocenter/sonasic/sonas1ic/index.jsp?topic=%2Fcom.ibm.sonas.doc%2Fusgr_cnnctng_via_nfs_frm_wndws.html http://pic.dhe.ibm.com/infocenter/sonasic/sonas1ic/index.jsp?topic=%2Fcom.ibm.sonas.doc%2Fusgr_cnnctng_via_nfs_frm_wndws.html] | ||
+ | :*Windows Service for Unix : [http://www.zosel.net/entry/nfs-client-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95-with-SFUWindows-Service-For-Unix-window http://www.zosel.net/entry/nfs-client-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95-with-SFUWindows-Service-For-Unix-window] | ||
+ | |||
+ | 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 구성== | ||
89번째 줄: | 119번째 줄: | ||
== Data 전송 방식 == | == Data 전송 방식 == | ||
− | *PATA (Parallel Advanced Tachnology Attachment) : 병렬 방식 | + | *PATA (Parallel Advanced Tachnology Attachment, IDE) : 병렬 방식 |
*SATA (Serial Advanced Technology Attachment, Serial ATA) : 직렬 방식 | *SATA (Serial Advanced Technology Attachment, Serial ATA) : 직렬 방식 | ||
99번째 줄: | 129번째 줄: | ||
::*[http://ko.wikipedia.org/wiki/NCQ http://ko.wikipedia.org/wiki/NCQ] | ::*[http://ko.wikipedia.org/wiki/NCQ http://ko.wikipedia.org/wiki/NCQ] | ||
− | *SCSI (Small Computer System Interface) : 병렬 방식 | + | **SCSI (Small Computer System Interface) : 병렬 방식 |
− | *iSCSI : Ethernet망에서 TCP/IP 상에 SCSI를 구현하는 기술 | + | *iSCSI : Ethernet망에서 TCP/IP 상에 SCSI를 구현하는 기술 |
*SAS (Serial Attached SCSI) : 직렬 방식 | *SAS (Serial Attached SCSI) : 직렬 방식 | ||
*FC (Fibre Channel) | *FC (Fibre Channel) | ||
− | *FCoE (Fibre Channel over Ethernet) : Ethernet망에서 TCP/IP를 사용하지 않고 SCSC를 구현하는 기술 | + | *FCoE (Fibre Channel over Ethernet) : Ethernet망에서 TCP/IP를 사용하지 않고 SCSC를 구현하는 기술 |
+ | **10Gb 이더넷 기반의 CEE/DCE는 해당 기능이 지원되는 Switch와 CNA가 필요 | ||
**CEE (Converged Enhanced Ethernet) 또는 DCE (Data Centre Ethernet)를 지원하는 Ethernet 환경에서 동작 | **CEE (Converged Enhanced Ethernet) 또는 DCE (Data Centre Ethernet)를 지원하는 Ethernet 환경에서 동작 | ||
− | ** | + | **<span style="line-height: 20.7999992370605px;">CNA (Converged Network Adapter) : NIC (Network Interface Card, Ethernet용 카드)</span><span style="line-height: 20.7999992370605px;"> 와 HBA (Host Bus Adaper, FC용 카드</span><span style="line-height: 20.7999992370605px;">)</span><span style="line-height: 20.7999992370605px;"> 기능을 수행하는 네트워크 어댑터</span> |
*Memory | *Memory | ||
114번째 줄: | 145번째 줄: | ||
::*[http://huniv.hongik.ac.kr/~ginnie/datacomm/ecc.htm http://huniv.hongik.ac.kr/~ginnie/datacomm/ecc.htm] | ::*[http://huniv.hongik.ac.kr/~ginnie/datacomm/ecc.htm http://huniv.hongik.ac.kr/~ginnie/datacomm/ecc.htm] | ||
− | == | + | <br/>참고 문헌 |
− | + | ||
+ | *[http://cafe.naver.com/neteg/76087 http://cafe.naver.com/neteg/76087] | ||
+ | *http://it.donga.com/21865/ | ||
+ | |||
+ | === iSCSI === | ||
+ | |||
+ | 참고 문헌 | ||
+ | |||
+ | *[http://support.serends.com/tiki-browse_freetags.php?tag=iSCSI http://support.serends.com/tiki-browse_freetags.php?tag=iSCSI] | ||
+ | |||
+ | == Linux Storage == | ||
+ | |||
+ | === Disk 정보 조회 === | ||
+ | <pre>lsblk | ||
+ | lsblk --output "NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,LABEL" | ||
+ | fdisk -l | ||
+ | parted --list | ||
+ | |||
+ | blkid | ||
+ | |||
+ | df -h | ||
+ | df -m | ||
+ | du -m</pre> | ||
+ | |||
+ | === 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;" | 8e | ||
+ | | Linux LVM (Logical Volume Manager) | ||
+ | |- | ||
+ | | style="text-align: center;" | ee | ||
+ | | GPT (GUID Partition Table) <--> MBR (Master Boot Record)<br/>2 TB 이상의 Partition 지정 가능<br/> | ||
+ | |- | ||
+ | | style="text-align: center;" | fd | ||
+ | | Linux raid auto<br/> | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | Partition 생성 | ||
+ | <pre>yum -y install parted | ||
+ | |||
+ | #--- parted /dev/vdb print | ||
+ | parted /dev/vdb | ||
+ | help [~] | ||
+ | mklabel gpt | ||
+ | print | ||
+ | quit | ||
+ | |||
+ | parted /dev/vdb mkpart primary xfs 0 100% | ||
+ | parted /dev/vdb print | ||
+ | |||
+ | </pre> | ||
+ | <br/>Partition 생성 | ||
+ | <pre style="font-family: monospace, Courier; padding: 1em; border: 1px solid rgb(221, 221, 221); color: black; line-height: 1.3em; font-size: 14px; background-color: rgb(249, 249, 249);">fdisk /dev/xvdb | ||
+ | //--- n p 1 엔터 엔터 | ||
+ | //--- w | ||
+ | fdisk -l</pre> | ||
+ | |||
+ | === RAID 생성 === | ||
+ | <pre>yum install mdadm | ||
+ | modprobe raid456 | ||
+ | |||
+ | #--- 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 | ||
+ | </pre> | ||
+ | <br/>RAID 삭제 | ||
+ | <pre>mdadm --detail /dev/md0 | ||
+ | |||
+ | mdadm -S /dev/md0 | ||
+ | mdadm --zero-superblock /dev/vdd | ||
+ | mdadm --zero-superblock /dev/vde | ||
+ | # mdadm --remove /dev/md0</pre> | ||
+ | <br/>참고 문헌 | ||
+ | |||
+ | *[http://itscom.org/archives/5267 http://itscom.org/archives/5267] | ||
+ | |||
+ | === LVM (Logical Volume Manager) === | ||
+ | <pre>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 | ||
+ | |||
+ | # lvcreate -L 19.99G -n lv_data vg_data | ||
+ | pvscan | ||
+ | pvdisplay | ||
+ | |||
+ | vgscan | ||
+ | vgdisplay | ||
+ | |||
+ | lvscan | ||
+ | lvdisplay | ||
+ | </pre> | ||
+ | |||
+ | === Disk format === | ||
+ | <pre style="font-family: monospace, Courier; padding: 1em; border: 1px solid rgb(221, 221, 221); color: black; line-height: 1.3em; font-size: 14px; background-color: rgb(249, 249, 249);">yum -y install xfsprogs #--- For mkfs.xfs | ||
+ | |||
+ | mkfs.ext4 /dev/vg_data/lv_data | ||
+ | mkfs.xfs /dev/vg_data/lv_data | ||
+ | </pre> | ||
+ | <br/>참고 문헌 | ||
+ | |||
+ | *[http://resoliwan.blogspot.kr/2015/03/blog-post.html http://resoliwan.blogspot.kr/2015/03/blog-post.html] | ||
+ | |||
+ | === 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 : 리부팅시 자동 마운트 설정 | ||
+ | |||
+ | [root@manage /]# 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#가상 하드 관리|가상 하드 관리]] | ||
+ | :*[http://ebonny.wordpress.com/2010/10/29/ntfs-%EB%A7%88%EC%9A%B4%ED%8A%B8%ED%95%98%EA%B8%B0/ 마운트 1 (기본사용법, NTFS마운트, 자동마운트 및 복구), 2010.10] | ||
+ | :*[http://faq.hostway.co.kr/Linux_ETC/7437 http://faq.hostway.co.kr/Linux_ETC/7437] | ||
+ | |||
+ | === 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 | ||
+ | |||
+ | |||
+ | |||
+ | 참고 문헌 | ||
+ | |||
+ | *[https://www.rndit.net/confluence/display/DEV/CentOS+LVM https://www.rndit.net/confluence/display/DEV/CentOS+LVM] | ||
+ | |||
+ | |||
+ | |||
+ | === Resize disk === | ||
− | + | resize2fs /dev/mapper/VolGroup-lv_root | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==File System== | + | == File System == |
− | |||
− | |||
− | mkfs.xfs -f -b size=512 -l size=32768b -d agcount=1 -n size=16k /dev/sdb1 ;\ | + | {| 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<br/>(Extended File System)<br/> | ||
+ | | ext, ext2, ext3<br/>ext4 (fourth extended filesystem)<br/> | ||
+ | |- | ||
+ | | align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | JFS<br/>(Journaling File System)<br/> | ||
+ | | GNU GPL<br/>백업 및 복구 능력이 뛰어난 파일 시스템 | ||
+ | |- | ||
+ | | align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | ZFS<br/>(Zettabyte File Systems)<br/> | ||
+ | | [http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/cloud/Storage/NativeZFSOnLinux http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/cloud/Storage/NativeZFSOnLinux]<br/> | ||
+ | |- | ||
+ | | align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | XFS | ||
+ | | GNU GPL<br/>mkfs.xfs<br/>[http://xfs.org/index.php/Main_Page http://xfs.org/index.php/Main_Page<br />] | ||
+ | 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 | mount -o noatime,nodiratime,logbufs=8 /dev/sdb1 /mnt/test | ||
− | ==가상 디스크== | + | |- |
+ | | align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | ReiserFS | ||
+ | | <br/> | ||
+ | |- | ||
+ | | align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | BtrFS<br/><span style="line-height: 20.8px;">(B-tree File System)</span><br/> | ||
+ | | <br/> | ||
+ | |- | ||
+ | | align="center" valign="middle" style="background-color: rgb(238, 238, 238);" | Others | ||
+ | | FAT FS (File Allocation Table File System)<br/>NTFS (New Technology File System) | ||
+ | |} | ||
+ | |||
+ | | ||
+ | |||
+ | 참고 문헌 | ||
+ | |||
+ | *[https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC_%EC%8B%9C%EC%8A%A4%ED%85%9C_%EB%AA%A9%EB%A1%9D 파일 시스템 목록] | ||
+ | |||
+ | == 분산 파일 시스템 == | ||
+ | |||
+ | GlusterFS | ||
+ | |||
+ | Ceph | ||
+ | |||
+ | FreeNAS | ||
+ | |||
+ | Lustre | ||
+ | |||
+ | == 가상 디스크 == | ||
+ | |||
*이미지 생성 | *이미지 생성 | ||
+ | |||
qemu-img create -f qcow2 -o preallocation=metadata test.qcow2 100G | qemu-img create -f qcow2 -o preallocation=metadata test.qcow2 100G | ||
*이미지 용량 증가 | *이미지 용량 증가 | ||
+ | |||
VBoxManage modifyhd ~.vdi --resize 20480 | VBoxManage modifyhd ~.vdi --resize 20480 | ||
*이미지 용량 감소 | *이미지 용량 감소 | ||
+ | |||
qemu-img convert -c -O qcow2 source.qcow2 target.qcow2 | qemu-img convert -c -O qcow2 source.qcow2 target.qcow2 | ||
VBoxManage modifyhd ~.vdi --compact | VBoxManage modifyhd ~.vdi --compact | ||
*이미지 복제 | *이미지 복제 | ||
+ | |||
VBoxManage clonevdi 원본.vdi 타겟.vdi | VBoxManage clonevdi 원본.vdi 타겟.vdi | ||
VBoxManage clonehd ~.vmdk ~.vdi --format vdi | VBoxManage clonehd ~.vmdk ~.vdi --format vdi | ||
*이미지 포맷 변환 | *이미지 포맷 변환 | ||
+ | |||
qemu-img convert -O vdi test.qcow2 test.vdi | qemu-img convert -O vdi test.qcow2 test.vdi | ||
*이미지 내용 수정 | *이미지 내용 수정 | ||
+ | |||
yum install guestfish -y | yum install guestfish -y | ||
guestfish –rw -a /cloudimages/disk/CentOS-6.5.qcow2 | 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 | virt-edit centos-6.5-3 /etc/fstab | ||
186번째 줄: | 478번째 줄: | ||
|- | |- | ||
| style="text-align: center;" | Flash Memory | | style="text-align: center;" | Flash Memory | ||
− | | 바이트 단위가 아닌 블록 단위 (512 Bytes 등)로 기록하는 EEPROM<br/>Flash Memory : USB<br/>NAND Flash Memory : SSD 방식의 하드디스크<br/> | + | | 바이트 단위가 아닌 블록 단위 (512 Bytes 등)로 기록하는 EEPROM<br/>Flash Memory : USB<br/>NAND Flash Memory : SSD 방식의 하드디스크<br/> |
|- | |- | ||
| style="text-align: center;" | RAM | | style="text-align: center;" | RAM | ||
203번째 줄: | 495번째 줄: | ||
== 참고 문헌 == | == 참고 문헌 == | ||
+ | *[http://m.blog.daum.net/hur38think/17211950 디스크와 파티션 관리하기, 2012.03] | ||
*[http://www.lacie.com/download/whitepaper/WP_RAID_kr.pdf http://www.lacie.com/download/whitepaper/WP_RAID_kr.pdf] | *[http://www.lacie.com/download/whitepaper/WP_RAID_kr.pdf http://www.lacie.com/download/whitepaper/WP_RAID_kr.pdf] | ||
*[http://skymeet.tistory.com/43 http://skymeet.tistory.com/43] | *[http://skymeet.tistory.com/43 http://skymeet.tistory.com/43] |
2016년 5월 20일 (금) 09:57 기준 최신판
Storage 관련 사항을 정리 합니다.
목차
Storage 종류
Storage | 상세 |
DAS (Direct Attached Storage) |
|
NAS (Network Attached Storage) |
File Storage
|
SAN (Storage Area Network) |
Block Storage
|
NAS
NAS (Network Attached Storage)
- NFS Client
- http://technet.microsoft.com/ko-kr/library/cc754350.aspx
- http://blog.cuongnv.com/2009/11/windows-7-client-for-nfs-and-user-name.html
- http://pic.dhe.ibm.com/infocenter/sonasic/sonas1ic/index.jsp?topic=%2Fcom.ibm.sonas.doc%2Fusgr_cnnctng_via_nfs_frm_wndws.html
- Windows Service for Unix : http://www.zosel.net/entry/nfs-client-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95-with-SFUWindows-Service-For-Unix-window
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)
저장 방식 상세 RAID Level 0 - Striping (스트라이핑)
- 하나의 데이터를 여러개의 디스크에 분산하여 저장
- 장점 : 빠른 I/O
- 단점 : 낮은 안정성
RAID Level 1 - Mirroring (미러링)
- 하나의 데이터를 두개의 디스크에 중복하여 저장
- 장점 : 데이터의 안전성 보장
- 단점 : Disk의 저장 용량의 50% 감소
RAID Level 3 - Disk 3개와 별도의 패리티 디스크로 구성, 순차적 파일 저장에 유리
- 장점 : 1개의 디스크 손상을 복구, 서비스 무중단
- 단점 : 디스크 한개만큼 용량 감소
- RAID 3 + Spare : Disk 3개 중 하나가 비어 있고 하나의 디스크 장애시 이 빈 디스크를 사용하여 복구
- 단점 : 디스크 2개만큼 용량 감소
RAID Level 4 - Parity
- N - 1개의 그룹은 데이터를 저장하고 1개의 그룹은 parity 데이터를 저장
- 장점 : RAID 0 대비 높은 안정성, RAID 1 대비 뛰어난 성능
- 단점 : 쓰기시 부하가 걸림
RAID Level 5 - Distribute Parity
- RAID 4와 유사하나 Parity disk가 그룹별로 분산 되어 있음
- 최소 3개 이상의 디스크에서 특정 블록을 패리티 블록으로 사용, 무작위 읽기에 유리
- 장점 : RAID 4 대비 병목 현상을 줄임
- 장점 : 1개의 디스크 손상을 복구, 서비스 무중단
RAID Level 6 - 두개의 패리티 블록을 사용
- RAID 5에서 Parity disk를 2개씩 가져감
- 장점 : RAID 5 대비 안정성 증가 (디스크 2개까지의 손상을 허용)
- 단점 : RAID 5 대비 비용 증가
RAID 0 + 1 - RAID 0를 먼저 적용하고 RAID 1을 적용
RAID 10 - RAID 1 + 0
- 미러링된 세트의 스트라이프
- RAID 1를 먼저 적용하고 RAID 0을 적용
JBOD - Just a Bunch Of Disks
- 여러개의 디스크를 하나의 논리적인 디스크로 결합
HYPERDUO - 일반 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
ID | Description |
83 | Linux |
8e | Linux LVM (Logical Volume Manager) |
ee | GPT (GUID Partition Table) <--> MBR (Master Boot Record) 2 TB 이상의 Partition 지정 가능 |
fd | Linux raid auto |
Partition 생성
yum -y install parted #--- parted /dev/vdb print parted /dev/vdb help [~] 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 #--- 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 # 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 # 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 : 리부팅시 자동 마운트 설정
[root@manage /]# 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
- 참고 문헌
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 wget 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
File System | 상세 |
Ext (Extended File System) |
ext, ext2, ext3 ext4 (fourth extended filesystem) |
JFS (Journaling File System) |
GNU GPL 백업 및 복구 능력이 뛰어난 파일 시스템 |
ZFS (Zettabyte File Systems) |
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/cloud/Storage/NativeZFSOnLinux |
XFS | 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 |
ReiserFS | |
BtrFS (B-tree File System) |
|
Others | 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
용어 정의
용어 | 상세 |
ROM | Read Only Memory |
MROM | Mask ROM 메모리 생산시 한번만 write 가능 |
PROM FPROM |
Programmable ROM, Field Programmable ROM 사용자가 단 1회 write 가능 |
EPROM UVEPROM |
Erasable Programmable ROM, Ultra-Violet EPROM 자외선을 사용하여 재기록이 가능한 메모리 |
EEPROM | Electrically Erasable Programmable ROM 전기신호를 사용하여 재기록이 가능한 메모리 |
Flash Memory | 바이트 단위가 아닌 블록 단위 (512 Bytes 등)로 기록하는 EEPROM Flash Memory : USB NAND Flash Memory : SSD 방식의 하드디스크 |
RAM | Random Access Memory |
DRAM | Dynamic RAM. 정기적으로 refresh가 필요 일반 PC 메모리로 사용 |
SRAM | Static RAM CPU의 캐시 메모리로 사용 |
NVRAM | Non-Volatile RAM 전원이 차단 되어도 데이터가 사라지지 않는 RAM 방식 1 : 외부 배터리 방식 방식 2 : EEPROM과 연동 방식 |
참고 문헌
- 디스크와 파티션 관리하기, 2012.03
- http://www.lacie.com/download/whitepaper/WP_RAID_kr.pdf
- http://skymeet.tistory.com/43
- NAS 참고 문헌
- 윈도우 기반 NFS 서버/클라이언트 구축 1
- 윈도우 기반 NFS 서버/클라이언트 구축 2
- 윈도우 기반 NFS 서버/클라이언트 구축 3
- Windows 용 NFS Server : http://ko.sourceforge.jp/projects/sfnet_winnfsd/ (오픈소스)
- winnfsd –id $uid $gid –log off $folder