私有云的部署(1)_ISCSI 无盘引导的一些心得
????隨著目前服務器數量的日益增加,出于管理方面的目的,我們越來越多的談到了私有云,在部署私有云的過程中,我們遇到了一些困難,今天我將用一系列文章來描述我們解決問題的過程。
? ? 一方面由于服務器磁盤容量的稀缺,另一方面本著為半年以后iscsi存儲測試的需求,我們決定使用iscsi進行啟動。
????iscsi網卡一般分為三種,純網卡充當iscsi卡,帶有TOE(tcp/ip offset engine)的變種減負卡(也稱軟卡),帶有TOE和scsi引擎(其實就是asic芯片)的ISCSI HBA(也稱硬卡)。
????其中iscsi軟卡在操作系統看來是塊網卡,而iscsi hba在系統看來是塊HBA(存儲適配器)。
????眾所周知,VMware ESXI操作系統無法使用toe卡,而只能把它當做普通網卡使用,而iscsi硬卡如果不打特殊驅動是無法作為網卡使用的(無法繞過asic的處理)。
????而目前世界上對于iscsi卡的生產共分如下陣營。以intel為主的不帶TOE或帶TOE的網卡(思路是通過強大的處理器去運算)以qlogic為主的TOE HBA(因為耗用處理器資源最大的層面是TCP/IP頭的處理)而SCSI邏輯較為復雜,且失去了網卡的簡便性。第三是以EMULEX和Broadcom為主的純iscsi HBA。
????在千兆環境下ISCSI即使以滿負荷運行,大約CPU占用仍小于5%。(未啟用巨幀)雙路X5650 16G內存下獲得。
????而萬兆環境下滿負荷據冬瓜哥所說應該會耗費30%左右,筆者沒有萬兆的網卡無法測試。
????即使在萬兆條件下,一般客戶端也無法持續滿負荷讀取磁盤;因而在target端使用硬卡的性價比要遠大于軟卡。
????本次測試的搭建環境 dell c6100服務器 板載82576網卡(支持intel remote boot technology)使用iscsi連接運行在單機esxi(intel sr1560sf)的freenas服務器。
????首先明確幾個重要概念
????不只有iscsi硬卡有optional bios intel的大部分服務器網卡也具有該功能,并且使用ibft(iscsi boot firmare table)來支持iscsi引導。
????他的實現原理是首先通過13H中斷的方式訪問iscsi target 讀取系統必要的內核和initranfs 并把iscsi target 參數寫入內存的特定位置。之后正常開始加載,在initramfs加載之后讀取內存里的表通過軟件initiator的方式實現讀取數據。
????因而他只能算是普通網卡(功能高級點)而絕非iscsi硬卡。
????如果你用開啟ibft的網卡安裝紅帽系的系統,系統將會自動為你建立引導所需要的文件,但是如果遇到debian系他的安裝程序可能沒有做相關的檢測,無法直接讀取ibft表,而是會先詢問你找不到磁盤驅動。你需要手動選擇繼續。然后配置軟件iscsi initiator。
????在安裝完系統后debian默認是無法啟動的,因為initramfs并沒有被配置ip,你需要手工配置initramfs和grub的ip地址(一個是提供給系統引導使用的,一個是給linux系統的正常運行使用的)。
????下面開始試驗環境的配置
????首先在bios里啟動iscsi(oem廠商已經封裝好了,原理是刷新網卡的rom寫入一個專用optional bios)。
????在重啟進入引導之后按快捷鍵進入網卡bios,選擇iscsi主接口和副接口(在這里ip無法進行端口綁定,一般把一個配置成iscsi口,另一個作為業務口,不然容易造成擁塞)。
????隨后回車進入端口配置,填入iscsi initiator 和 target initiator可以隨意按格式輸入,需要注意的是2.x版本的bios 只支持512字節的扇區格式,不支持高級格式化,而且vmware 對高級格式化的支持目前也不太好。最好在存儲端使用512字節的傳統扇區大小。lun id 在存儲端也可配置。一般不用lun 0,從1開始。(據說老版本內核會有問題)然而我配成lun0可以順利引導。
????重啟后引導進入系統安裝過程,如果是紅帽系,一步步安裝即可,系統會自動創建引導關系。
????如果是Debian系,在安裝完成后重啟,會無法啟動(不會讀取ibft表而且不自動為網卡配置靜態IP)。
????需要進行如下操作,打開/etc/initramfs-tools/initramfs.conf 查找DEVICE=
????在下面加入一行?ip=IPADDR:GATEWAY:NETMASK:HOSTNAME:DEVICENAME
????隨后update-initramfs -u
????之后進入grub.cfg 更改linux ? /vmlinuz-4.4.16-1-pve root=/dev/mapper/debian--vg-root ifname=eth1:00:26:6c:fa:4c:e1 rd_NO_LUKS iscsi_firmware LANG=en_US.UTF-8 nomodeset ?KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD rd_LVM_LV=study-vg/swap_1 SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=study-vg/root ip=192.168.240.162::0.0.0.0:255.255.255.0::eth1 rd_NO_DM rhgb quiet
重啟即可。
????
轉載于:https://blog.51cto.com/15201118278/1855160
總結
以上是生活随笔為你收集整理的私有云的部署(1)_ISCSI 无盘引导的一些心得的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中创建gpio节点
- 下一篇: MyISAM 和InnoDB 的区别.(