亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 什么是lun [打印本頁]

作者: 志國    時間: 2009-04-17 11:26
標題: 什么是lun

轉載
a、lun的概念
   lun的全稱是logical unit number,也就是邏輯單元號。我們知道scsi總線上可掛接的設備數(shù)量是有限的,一般為6個或者15個,我們可以用target ID(也有稱為scsi id的)來描述這些設備,設備只要一加入系統(tǒng),就有一個代號,我們在區(qū)別設備的時候,只要說幾號幾號就ok了。
   而實際上我們需要用來描述的對象,是遠遠超過該數(shù)字的,于是我們引進了lun的概念,也就是說lun id的作用就是擴充了target id。每個target下都可以有多個lun device,我們通常簡稱lun device為lun,這樣就可以說每個設備的描述就有原來的target x變成target x lun y了,那么顯而易見的,我們描述設備的能力增強了.就好比,以前你給別人郵寄東西,寫地址的時候,可以寫:
   xx市人民大街54號 xxx(收)
   但是自從高樓大廈越來越多,你不得不這么寫:
   xx市人民大街54號xx大廈518室 xxx (收)
   所以我們可以總結一下,lun就是我們?yōu)榱耸褂煤兔枋龈嘣O備及對象而引進的一個方法而已,一點也沒什么特別的地方.
b、lun是什么東西?
   lun id不等于某個設備,只是個號碼而已,不代表任何實體屬性,在我們的實際環(huán)境里,我們碰到的lun可能是磁盤空間,可能是磁帶機,或者是media changer等等.
   lun的神秘之處(相對于一些新手來說)在于,它很多時候不是什么可見的實體,而是一些虛擬的對象。比如一個陣列柜,主機那邊看作是一個target device,那為了某些特殊需要,我們要將磁盤陣列柜的磁盤空間劃分成若干個小的單元給主機來用,于是就產(chǎn)生了一些什么邏輯驅動器的說法,也就是比target device級別更低的邏輯對象,我們習慣于把這些更小的磁盤資源稱之為lun0,lun1,lun2....什么的。而操作系統(tǒng)的機制使然,操作系統(tǒng)識別的最小存儲對象級別就是lun device,這是一個邏輯對象,所以很多時候被稱之為logical device。
   有人說,我的windows里,就認到一個磁盤呀,沒看到什么lun的說法,是不是lun=physical disk呢?回答是否定的,只要你注意,磁盤的屬性里就可以看到有一個lun的值,只是因為你的disk沒有被劃分為多個存儲資源對象,而將整個磁盤當作一個lun來用,lun id默認為零,如此而已。
   我們曾經(jīng)碰到過這樣的問題,比如有人問,我們有一個磁盤陣列,連到了兩個主機上,我們劃分了一個lun給兩個主機認到,然后我們想,先在操作系統(tǒng)將磁盤分為兩個區(qū),讓兩個主機分別使用兩個分區(qū),然后再出現(xiàn)某一臺主機宕機之后,使用集群軟件將該分區(qū)切換到另外一個主機上去,這樣可行嗎?答案也是否定的,集群軟件操作的磁盤單元是lun,而不是分區(qū),所以該操作是不可行的。當然,在一些環(huán)境,一般也是一些要求比較低的環(huán)境,可以在多個主機上掛載不同的磁盤分區(qū),但是這種情況下,實際上是沒有涉及到磁盤的切換的,所以在一些高要求的環(huán)境里,這種情況根本就不允許存在。
   還要說明的地方是,在有些廠商和有些產(chǎn)品的概念里,lun id被綁定到了具體的device上,比如ibm的一些帶庫,整個帶庫只有一個target id,然后changer,tape drive被分別分配為lun0,lun1,lun2.....,但是我們要注意到,這只是產(chǎn)品做了特別設計,也是少數(shù)情況。
c、存儲和主機的電氣獨立時代的lun的概念
還有很多新手總是把陣列里面的磁盤和主機的內部磁盤的一些概念搞混淆了。
在磁盤陣列和磁帶庫大行其道的時代,存儲越來越智能化,越來越像一個獨立的機器,實際上存儲和主機的電氣獨立本來就是一個必然趨勢,俗話說得好,兒大要分家嘛。在存儲越來越重要的時代,存儲要自立門戶是必然的事。
如果我們把存儲當作一個獨立的主機來看,理解起來就很簡單了。我們說到lun的概念的時候,我們就要將分為兩個層面。一個層面就是在陣列這個機器的os識別到的范圍,一個層面就是服務器的os識別到的范圍。這兩個層面是相對獨立的,因為如果我們把存儲當作一個主機來看,那么它自然有自己的device,target,lun之說,而服務器也有自己的device,target,lun之說;另外一方面,這兩個層面又是相互關聯(lián)的,一個陣列的控制系統(tǒng),大多都有虛擬化的功能,陣列想讓主機看到什么樣的東西,主機才能看到相應的東西。當然,服務器識別到的最小的存儲資源,就是lun級別的。那么主機的HBA卡看到的存儲上的存儲資源就靠主要兩個東西來定位,一個就是存儲系統(tǒng)的控制器(target),一個就是lun id,這個lun是由存儲的控制系統(tǒng)給定的,是存儲系統(tǒng)的某部分存儲資源。
d、lun masking,lun mapping
我們有了獨立的磁盤陣列用了之后,服務器只要看到存儲的控制系統(tǒng),就有可能使用磁盤陣列的磁盤資源,但是磁盤陣列不可能只為某一個服務器來使用,所以他必須管制主機使用某部分磁盤資源。這個管制分為兩個部分:一部分就是lun mapping,類似于綠色通道,就是保證服務器能看到某部分存儲資源,一部分就是lun masking,類似于警戒線,就是保證服務器只可訪問給它分配的存儲資源,而沒分配給服務器的資源,就不要染指了。
實現(xiàn)lun masking和lun mapping有三種方法:一個是基于存儲控制系統(tǒng)來設置,一個是基于存儲交換系統(tǒng)來設置,一個是基于服務器os來設置。
基于存儲控制系統(tǒng)得設置,是比較常見的設置,比如很多磁盤陣列的控制系統(tǒng),本身就能設置lun被某服務器看到。比如FastT的partition功能。
基于存儲交換系統(tǒng)的設置,也是一種常用的方法,比如常說的zoning。
基于服務器os的設置,比較少采用,一般采用安裝某些操作系統(tǒng)上安裝某些軟件來實現(xiàn),因為這個方法全靠服務器自覺,所以比較少用,呵呵。
e、lun的multi-path
現(xiàn)在,存儲網(wǎng)絡越來越發(fā)達了,一個lun有多條通路可以訪問也不是新鮮事了。
服務器使用多個HBA連接到存儲網(wǎng)絡,存儲網(wǎng)絡又可能是由多個交換設備組成,而存儲系統(tǒng)又可能有多個控制器和鏈路,lun到服務器的存儲網(wǎng)絡鏈路又可能存在著多條不同的邏輯鏈路。那么,必然的,同一個physical lun在服務器上必然被識別為多個設備。因為os區(qū)別設備無非用的是總線,target id,lun id來,只要號碼不同,就認為是不同的設備。
由于上面的情況,多路徑管理軟件應運而生了,比如emc的powerpath,這個軟件的作用就是讓操作系統(tǒng)知道那些操作系統(tǒng)識別到lun實際上是一個真正的physical lun,具體的做法,就是生成一個特別的設備文件,操作系統(tǒng)操作這個特殊的設備文件。而我們知道,設備文件+driver+firmware的一個作用,就是告訴操作系統(tǒng)該怎么使用這個設備。那么就是說,多路徑管理軟件從driver和設備文件著手,告訴了操作系統(tǒng)怎么來處理這些身份復雜的lun。

/dsk 是塊設備,/rdsk是裸設備。
用newfs在/rdsk上創(chuàng)建了文件系統(tǒng),便有了塊設備。
應用程序可以繞過操作系統(tǒng),直接訪問裸設備,不經(jīng)過文件系統(tǒng)的緩沖。
而塊設備本身是操作系統(tǒng)文件系統(tǒng)的一部分。
是/dsk是磁盤設備在操作系統(tǒng)中映射。
所以newfs肯定用裸設備,mount肯定用塊設備,以此類推

rdsk與dsk的區(qū)別
我覺得你這么理解可能到最后根本不明白,然后糊涂了事。
你應該知道,操作系統(tǒng)的主要功能就是控制硬件。控制硬件的方法就是為硬件建立軟件標準。那么這個標準實際上就是軟,硬件之間的接口。把計算機從硬件之間的電路聯(lián)系向軟件與硬件間的邏輯聯(lián)系建立起來的方法。
比如,你有1個文件想寫進硬盤。那么,首先是應用程序通知操作系統(tǒng),現(xiàn)在要寫文件到磁盤。這是一個任務,此時的硬盤并沒有開始工作,而是在操作系統(tǒng)的控制隊列中排隊。操作系統(tǒng)開始要執(zhí)行這個任務的時候,是向/dev/dsk中的設備去寫,也就是向以字節(jié)為單位的塊中去寫,寫入的是邏輯設備。然后,再通過操作系統(tǒng),把/dev/dsk中的以字節(jié)為單位的邏輯數(shù)據(jù),轉成/dev/rdsk中以扇區(qū)為單位的物理設備中,到達/dev/rdsk的時候,文件就被真實的寫進磁盤了。這個過程當然是非常短暫的,很多情況下是不會被人類察覺的速度。所以,我們就很難看到這些動作,而使這些動作變的難以理解了。
總之,我們平時理解邏輯是虛的,物理是實際存在的。但是在計算機中,邏輯的數(shù)據(jù)和設備是真實存在的,但是看不見,摸不到,比空氣還要虛幻而已。而物理設備通常是可以看得到,摸的到的設備。操作系統(tǒng)就是容納和管理邏輯數(shù)據(jù)而用的。在物理設備和邏輯設備之間進行不停的轉換。
關于這個任務,有些地方可能寫的不是很對,但是大致的意思應該如此。
/dev/dsk和/dev/rdsk
/dev/dsk和/dev/rdsk的區(qū)別。
特殊設備文件都被存放在/dev目錄中,或是/dev/dsk和/dev/rdsk。
在這些目錄底下包含了軟盤和硬盤的unix設備文件名。
比如:
/fd*     代表軟盤設備
/tty*    代表串口設備
/lp*     代表并口設備
運行l(wèi)s -l,如果在顯示文件系統(tǒng)權限之前的第一列中可以看到一個b的標志,他代表的是一個塊設備文件。
           如果在顯示文件系統(tǒng)權限之前的第一列中可以看到一個c的標志,他代表的是字符特殊設備包括串口、并口、磁盤設備、磁帶設備。
現(xiàn)在咱們就來確認“裸”這個概念。
大多數(shù)塊設備也有一個字符設備接口,這些字符設備接口又叫“裸”(Raw)接口。
“裸”(Raw)設備是字符設備;也就是一個已經(jīng)存在的塊設備的字符接口。
運行l(wèi)s -l,你就能識別裸設備接口,在文件或目錄的前面可以看到r的前綴(列如:/dev/rdsk/f03ht)。
裸設備的訪問權限的第一列也有一個c的標志。
裸設備接口允許有效的傳輸大于1KB的數(shù)據(jù),所以大多用在存儲數(shù)據(jù)庫的文件

/dev/dsk /dev/rdsk 區(qū)別 從網(wǎng)上摘了兩段話:
1,
http://www.unix.com/filesystems-disks-and-memory/6224-difference-dsk-rdsk.html
When a process sends requests to a rdsk type special file, it is talking directly to the driver. A read or a write goes directly to or from device. Reads and writes must be aligned on DEV_BSIZE boundaries or the results are undefined.
When a process sends requests to a dsk type special file, it is talking to high level os routines. A read or write goes to or from the buffer cache. If needed, the os will read new data into the buffer cache. There are no alignment restrictions. You can read or write any collection of bytes anywhere on the device. The os will send aligned requests to the driver, but this is hidden from the process. I/O requests that arise from accesses to a dsk type special file enter the driver via its strategy entry point, not the read and write entry points. The driver may resequence the requests to optimize overall performance.

2,
http://www.idevelopment.info/data/Unix/Solaris/SOLARIS_UnderstandingDiskDeviceFiles.shtml

Overview
Under Solaris, one of the most involved UNIX devices to understand is the disk device file. Here are several key points that may help:
In many cases, a disk device file (i.e. /dev/dsk/c0t2d0s7) refers to a particular partition (aka "slice") of a disk, and not the entire physical device. There are several device files which refer to the entire physical device, but are rarely used.
For every disk device, there are usually two device files - the block device and the character ("raw") device. In general:
block devices are generally stored under /dev/dsk and used for filesystem type access (e.g mount)
character devices are generally stored under /dev/rdsk used for everything else (e.g. fsck, newfs, etc..)
Discs are generally attached to a controller (or a bus) which can handle multiple devices. IDE and SCSI are both common attach methods. This tends to make disk device filename more complex than other types of devices.
/etc/vfstab
To see the difference between the block device and character device for a device, consider the following. The /etc/vfstab contains entries for a single filesystem on a Solaris server:
/dev/dsk/c0t2d0s7 /dev/rdsk/c0t2d0s7 /opt ufs 3 yes -
The first 2 fields in the above entry, list the same disk device as both a block device ("dsk") and character device ("rdsk"). The block device is used by mount when mounting the filesystem while the character device is used by fsck when checking the filesystem and newfs when creating the filesystem.. Both fields must be present in /etc/vfstab.


本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u1/52888/showart_1902280.html




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2