Synology 레이드 구성하지 않고 단독 디스크에 iSCSI 초기자로 네트워크 드라이브를 잡아서 속도 체크를 해보았습니다.

하드디스크 속도가 기가인터넷 속도와 비슷해서 순차 읽기 115MB/s, 순차 쓰기 101MB/s 속도가 나왔습니다.

Synology iSCSI CrystalDiskMark

로컬 디스크와 속도가 별로 차이가 없는것 같네요~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

PXE 네트워크 부팅 iSCSI 하드 속도


PXE Network Booting 으로 노하드 ( iscsi 하드 )의 CrystalDiskMark 벤치 속도입니다.


왼쪽은 다른 영역에서 하드디스크가 사용되고 있을때 크리스탈 디스크마크를 실행해서 나온 결과입니다.

그리고 오른쪽은 하드디스크가 조용할 때 측정한 결과입니다.

베이스 하드는 SAS 10K x 4EA Raid 0 로 구성된 스토리지입니다.


네트워크는 1기가 비트인데 읽기 속도는 대역폭을 능가하는 벤치 결과네요~ ㅎ

쓰기 속도는 대역폭 안에서 나온 결과가 맞는 것 같습니다.

이정도 속도면 서버 하나에 4~5대 정도의 노하드 시스템 클라이언트 정도는 돌릴 수 있을 것 같네요~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x 노하드 시스템 iSCSI & PXE 환경구축


하드디스크 없이 네트워크로 윈도우를 부팅하려면 먼저 iSCSI 스토리지 서버와 PXE 서버 구축이 되어 있어야 합니다.

그리고 미리 윈도우 이미지를 만들어 두어야 합니다.


1. 패키지 설치

yum install epel-release wget scsi-target-utils iscsi-initiator-utils dnsmasq


2. 방화벽 설정

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --permanent --zone=public --add-service=dns
firewall-cmd --permanent --zone=public --add-service=dhcp
firewall-cmd --permanent --zone=public --add-service=iscsi-target
firewall-cmd --permanent --zone=public --add-port=69/udp
firewall-cmd --permanent --zone=public --add-port=4011/udp
firewall-cmd --reload


3. iSCSI 스토리지 설정

vi /etc/tgt/targets.conf

<target disk01>
    backing-store /iscsi/disk01.img
    initiator-address ALL
    #incominguser iscsi pass1234
</target>

systemctl enable tgtd
systemctl start tgtd

OS 이미지인 disk01.img 는 미리 작업해서 올려두어야 합니다.

tgt-admin -s 명령어로 정상적으로 설정되었는지 확인합니다.

iscsi 초기자로 테스트하는 방법

# iSCSI 설정

iscsiadm -m discovery -t st -p 192.168.1.3
iscsiadm -m node --targetname disk01 --portal 192.168.1.3:3260 --login

( 안되면 tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL 명령어 실행 후 다시 재시도)


# iSCSI 해제

iscsiadm -m node --targetname disk01 --portal 192.168.1.3:3260 --logout
iscsiadm -m discovery --portal 192.168.1.3:3260 --op=delete


4. PXE 부팅 환경 작업

mkdir /var/lib/tftpboot

wget -O /var/lib/tftpboot/undionly.kpxe http://boot.ipxe.org/undionly.kpxe


5. dnsmasq 환경 설정

vi /etc/dnsmasq.d/dhcp.conf

domain=localhost.localdomain
dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,1h
dhcp-option=option:router,192.168.1.1
enable-tftp
tftp-root=/var/lib/tftpboot
dhcp-match=iPXE,175
dhcp-option=net:iPXE,17,"iscsi:192.168.1.3:::1:disk01"
pxe-service=net:#iPXE,x86PC,"PXE Network booting",undionly.kpxe

systemctl enable dnsmasq
systemctl start dnsmasq

아이피 환경은 맞게 수정하셔야 합니다.

그리고 iPXE 는 다른 이름으로 해도 상관없습니다.

접속주소는 iscsi:아이피주소:프로토콜:포트번호:룬번호:타겟명 이런 형태입니다.

예) iscsi:192.168.1.3:tcp:3260:1:disk01

MAC Address 별로 iscsi 타겟을 따로 지정하려면 https://ivps.tistory.com/371 여기를 참고하세요.


이제 설정이 완료되었습니다.

다른 클라이언트에서 테스트 해보고 안되면 서버를 재부팅 한 다음에 다시 시도해보세요~


PXE 네트워크 부팅 동영상 보기

https://youtu.be/jZdWfViNcIU ( Win10 )

https://youtu.be/tCZcA25oKqg ( Win7 )



윈도우7 은 iSCSI 관련 핫픽스 패치를 한 이후에 이미지를 만들면 부팅이 되던데,

윈도우10 은 블루스크린이 뜨면서 부팅실패를 하는군요~


윈도우7용은 패치 파일 첨부합니다.

Windows6.1-KB2550978-x64[1].msu

Windows6.1-KB976042-v2-x64[1].msu


윈도우10은 성공했다는 글은 봤는데 좀 복잡해서 나중에 패치가 나오길 기다려봅니다~ ㅎ


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x iscsi 스토리지 생성 및 연결


iscsiadm: No portals fount 이 후로 더 이상 진행이 안되어서 targetcli 로도 해보고 몇 번을 재시도 했는지 모르겠네요~ ㅎ

iSCSI 스토리지 서버를 만들고 iscsi 초기자로 원격 디스크를 마운트하는 방법입니다.


iSCSI 스토리지 서버 설정

scsi-target-utils 를 설치합니다.

yum install epel-release

yum install scsi-target-utils

mkdir /iscsi
dd if=/dev/zero of=/iscsi/disk01.img bs=1M count=10000

10G 이미지 파일을 생성합니다.

vi /etc/tgt/targets.conf

<target iqn.2017-09.com.example:target1>
    backing-store /iscsi/disk01.img
    initiator-address ALL
    #incominguser iscsi pass1234
</target>

또는 간단하게 ( 의미없는 iqn.2017-09.com.example 생략가능 )

<target target1>
    backing-store /iscsi/disk01.img
    initiator-address ALL
    #incominguser iscsi pass1234
</target>

disk01.img 를 iqn.2017-09.com.example:target1 에 할당합니다.

systemctl enable tgtd
systemctl start tgtd

tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL

tgtadm --mode target --op show 명령어로 잘 되었는지 확인합니다.

아래 클라이언트에서 iscsiadm: No portals found 메시지가 나오면

tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL 명령어를 실행하면 됩니다.


방화벽에서 3260 포트를 열어줍니다.

firewall-cmd --permanent --zone=public --add-service=iscsi-target

firewall-cmd --reload

아래 작업에서 문구가 나오면

iscsiadm: cannot make connection to 192.168.1.26: Connection refused

selinux 설정을 변경해 주어야 합니다.

vi /etc/selinux/config

#SELINUX=enforcing
SELINUX=disabled

저장 후 reboot 합니다.


여기까지가 iSCSI 스토리지 서버 생성입니다.



iSCSI 스토리지 연결

지금부터는 위에서 생성한 iscsi 를 연결해서 마운트 하는 작업입니다.

yum install iscsi-initiator-utils

그리고 위에서 incominguser 를 설정했다면 아래 처럼 유저 환경설정을 해줍니다.

vi /etc/iscsi/iscsid.conf

node.session.auth.authmethod = CHAP
node.session.auth.username = iscsi
node.session.auth.password = pass1234

이제 연결 작업입니다.

iscsiadm -m discovery -t st -p 192.168.1.26
iscsiadm -m node --targetname iqn.2017-09.com.example:target1 --portal 192.168.1.26:3260 --login

연결 해제는 아래처럼 하면 됩니다.

iscsiadm -m node --targetname iqn.2017-09.com.example:target1 --portal 192.168.1.26:3260 --logout
iscsiadm -m discovery --portal 192.168.1.26:3260 --op=delete

아직 연결 해제는 하지 마세요~

연결이 잘 되었는지는 fdisk -l 로 확인하면 됩니다.

원래 없던 /dev/sdb 가 보인다면 제대로 연결이 된 것입니다.


fdisk /dev/sdb

mkfs.ext4 /dev/sdb1

mkdir /mnt/sdb1

mount /dev/sdb1 /mnt/sdb1

이제 fdisk 로 파티션을 잡은 뒤에 포맷 후 마운트를 하면 됩니다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,