Kedves Fórumozók!
Adott egy gépem, amiből házi "storage"-ot szeretnék építeni, iSCSI és FC target móddal, NFS-sel Solaris 11 (x86) alapokon.
A problémám az, hogy a magas diszk árak miatt Samsung HD204UI típusú diszkekből éptettem RAIDZ1-es poolt.
Ez a típus az energiatakarékos családba tartozik, ami amellett, hogy 5900 (?) RPM-mel forog, némi inaktivitás után leparkolja a fejet, és leállítja a tányérok forgását is. Ilyenkor a következő hozzáféréskor kb 3-5 másodperbe telik, mire ismét üzemkész állapotba kerül a diszk, addig pedig minden az IO-ra vár. Ez a viselkedés ezeknél a diszkeknél a firmware-be van építve, ezért az OS alól csak nehezen szabályozható. (A Samsung saját merevlemez util programjánál csak a hangerőszabályozást (AAM) lehet állítani, azt APM-et nem lehet letiltani.)
Solaris 11 alá tudtommal nem is nagyon van a hdparm-hoz hasonló segédprogram, amivel a diszkek beállításait lehetne módosítani.
Szerencsére találtam egy blogbejegyzést, aminek a szerzője írt két faék egyszerűségű segédprogramot, ami egy diszk APM és AAM (zajszint) beállításainak módosítását teszi lehetővé Solaris alatt. A forrás eredetileg Solaris 10 alá készült, de szerencsére Solaris 11 alatt is lefordult, így reménykedek benne, hogy ha ennek segítségével letiltom az APM-et a kötet diszkjein, akkor felhagynak a fentebb leírt viselkedéssel.
(Ehhez hozzájön még ez a bug ennél a diszktípusnál.)
A program egy diszk eszköz device fájlját és egy APM szintet vár paraméterként.
A problémám az, hogy alapból nincsen olyan eszközfájl a rendszeren, ami csak a diszket önmagát hivatkozná, hanem csak a partíciókra/sliceokra hivatkozó fájlok vannak ott a /dev alatt.
Mégis milyen fájlt kellene ennek a programnak megadni?
Az iostat kimenetében levő sdN fájlok nem léteznek, a format kimenetén levő cXtYdZ nevű fájlok szintén nem léteznek, és ha az ugyanott szereplő, pl. "/pci@0,0/pci103c,1609@11/disk@2,0" elérési utat adom meg, akkor is azt kapom, hogy "Failed to open device: No such file or directory".
- 6745 megtekintés
Hozzászólások
/devices alatt van a '/pci@...'
- A hozzászóláshoz be kell jelentkezni
igaz, de...
root@space:/home/janos# ./setapm
Usage: ./setapm <device> <APM-Level>
where APM-Level = [0..254] (0=Disable APM)
root@space:/home/janos# ./setapm '/devices/pci@0,0/pci103c,1609@11/disk@2,0' 0
Failed to open device: Is a directory
root@space:/home/janos# ls "/devices/pci@0,0/pci103c,1609@11/disk@2,0"
root@space:/home/janos# ls -ld "/devices/pci@0,0/pci103c,1609@11/disk@2,0"
drwxr-xr-x 2 root sys 2 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni
ls -l /devices/pci@0,0/pci103c,1609@11/disk@2,0*
- A hozzászóláshoz be kell jelentkezni
Csak a partíciókra mutató device blokkos és karakteres fájlokat listázza ki, illetve a diszk nevével fémjelzett könyvtárat, ami üres:
root@space:~# ls -l /devices/pci@0,0/pci103c,1609@11/disk@2,0*
brw-r----- 1 root sys 28, 192 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:a
crw-r----- 1 root sys 28, 192 Aug 5 20:30 /devices/pci@0,0/pci103c,1609@11/disk@2,0:a,raw
brw-r----- 1 root sys 28, 193 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:b
crw-r----- 1 root sys 28, 193 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:b,raw
brw-r----- 1 root sys 28, 194 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:c
crw-r----- 1 root sys 28, 194 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:c,raw
brw-r----- 1 root sys 28, 195 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:d
crw-r----- 1 root sys 28, 195 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:d,raw
brw-r----- 1 root sys 28, 196 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:e
crw-r----- 1 root sys 28, 196 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:e,raw
brw-r----- 1 root sys 28, 197 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:f
crw-r----- 1 root sys 28, 197 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:f,raw
brw-r----- 1 root sys 28, 198 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:g
crw-r----- 1 root sys 28, 198 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:g,raw
brw-r----- 1 root sys 28, 199 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:h
crw-r----- 1 root sys 28, 199 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:h,raw
brw-r----- 1 root sys 28, 200 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:i
crw-r----- 1 root sys 28, 200 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:i,raw
brw-r----- 1 root sys 28, 201 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:j
crw-r----- 1 root sys 28, 201 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:j,raw
brw-r----- 1 root sys 28, 202 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:k
crw-r----- 1 root sys 28, 202 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:k,raw
brw-r----- 1 root sys 28, 203 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:l
crw-r----- 1 root sys 28, 203 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:l,raw
brw-r----- 1 root sys 28, 204 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:m
crw-r----- 1 root sys 28, 204 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:m,raw
brw-r----- 1 root sys 28, 205 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:n
crw-r----- 1 root sys 28, 205 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:n,raw
brw-r----- 1 root sys 28, 206 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:o
crw-r----- 1 root sys 28, 206 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:o,raw
brw-r----- 1 root sys 28, 207 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:p
crw-r----- 1 root sys 28, 207 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:p,raw
brw-r----- 1 root sys 28, 208 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:q
crw-r----- 1 root sys 28, 208 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:q,raw
brw-r----- 1 root sys 28, 209 Aug 5 20:28 /devices/pci@0,0/pci103c,1609@11/disk@2,0:r
crw-r----- 1 root sys 28, 209 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:r,raw
brw-r----- 1 root sys 28, 210 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:s
crw-r----- 1 root sys 28, 210 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:s,raw
brw-r----- 1 root sys 28, 211 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:t
crw-r----- 1 root sys 28, 211 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:t,raw
brw-r----- 1 root sys 28, 212 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:u
crw-r----- 1 root sys 28, 212 Aug 5 21:51 /devices/pci@0,0/pci103c,1609@11/disk@2,0:u,raw
/devices/pci@0,0/pci103c,1609@11/disk@2,0:
total 0
root@space:~#
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni
A diszk maga, és a partíciók egyike egy és ugyanaz.
SPARC-on az s2 végű (ez lesz a :c), x86-on a p0 végű az egész diszket jelenti. Bizonyos programok megteszik azt a szívességet, hogy ha a cxtxdx-et beírod a végződés nélkül, akkor automatikusan hozzácsapják ezt.
- A hozzászóláshoz be kell jelentkezni
Prtconf-al meg tudod nezni a teljes dev_path-ot minden diskhez.Az is ugyanezt az utat adja vissza?
$ /usr/sbin/prtconf -v | more
Memory size: 32640 Megabytes
System Peripherals (Software Nodes):
SUNW,SPARC-Enterprise-T5220
.
.
.
location: /dev/chassis/SUN-Storage-J4400.0918QAKA24/SCSI_Device__2/disk
Device Minor Nodes:
dev=(27,40)
dev_path=/pci@0/pci@0/pci@8/pci@0/pci@a/LSILogic,sas@0/sd@2,0:a
spectype=blk type=minor
dev_link=/dev/dsk/c4t2d0s0
dev_path=/pci@0/pci@0/pci@8/pci@0/pci@a/LSILogic,sas@0/sd@2,0:a,raw
spectype=chr type=minor
dev_link=/dev/rdsk/c4t2d0s0
Device Minor Layered Under:
mod=zfs accesstype=blk
dev_path=/pseudo/zfs@0
Minor properties:
name='Nblocks' type=int64 items=1 dev=(27,40)
value=0000000074702c8f
name='Size' type=int64 items=1 dev=(27,40)
value=000000e8e0591e00
.
.
.
- A hozzászóláshoz be kell jelentkezni
:)
Köszönöm, hogy te is jöttél segíteni.
Itt most egy i86pc-s gépről van szó, itt kicsit máshogy néz ki a prtconf kimenete:
disk, instance #2
System software properties:
name='ddi-devid-registrant' type=int items=1
value=00000001
Driver properties:
name='inquiry-serial-no' type=string items=1 dev=none
value='S2H7JD1B401777'
name='pm-components' type=string items=5 dev=none
value='NAME=spindle-motor' + '0=stopped' + '1=standby' + '2=idle' + '3=active'
name='pm-hardware-state' type=string items=1 dev=none
value='needs-suspend-resume'
name='ddi-failfast-supported' type=boolean dev=none
name='ddi-kernel-ioctl' type=boolean dev=none
name='fm-ereport-capable' type=boolean dev=none
name='pm-capable' type=int items=1 dev=none
value=00030006
name='device-nblocks' type=int64 items=1 dev=none
value=00000000e8e088b0
name='device-blksize' type=int items=1 dev=none
value=00000200
Hardware properties:
name='devid' type=string items=1
value='id1,sd@SATA_____SAMSUNG_HD204UI_______S2H7JD1B401777'
name='inquiry-device-type' type=int items=1
value=00000000
name='inquiry-revision-id' type=string items=1
value='1AQ10001'
name='inquiry-product-id' type=string items=1
value='HD204UI'
name='inquiry-vendor-id' type=string items=1
value='SAMSUNG'
name='class' type=string items=1
value='scsi'
name='sata-phy' type=int items=1
value=00000001
name='compatible' type=string items=4
value='scsiclass,00.vATA.pSAMSUNG_HD204UI.r0001' + 'scsiclass,00.vATA.pSAMSUNG_HD204UI' + 'scsiclass,00' + 'scsiclass'
name='lun' type=int items=1
value=00000000
name='target' type=int items=1
value=00000001
name='device-type' type=string items=1
value='scsi'
Device Minor Nodes:
dev=(28,128)
dev_path=/pci@0,0/pci103c,1609@11/disk@1,0:a
spectype=blk type=minor
dev_link=/dev/dsk/c3t1d0s0
dev_path=/pci@0,0/pci103c,1609@11/disk@1,0:a,raw
spectype=chr type=minor
dev_link=/dev/rdsk/c3t1d0s0
Minor properties:
name='lba-access-ok' type=boolean dev=(28,128)
name='Nblocks' type=int64 items=1 dev=(28,128)
value=0000000000000000
name='Size' type=int64 items=1 dev=(28,128)
value=0000000000000000
dev=(28,129)
dev_path=/pci@0,0/pci103c,1609@11/disk@1,0:b
spectype=blk type=minor
dev_link=/dev/dsk/c3t1d0s1
dev_path=/pci@0,0/pci103c,1609@11/disk@1,0:b,raw
spectype=chr type=minor
dev_link=/dev/rdsk/c3t1d0s1
Minor properties:
name='Nblocks' type=int64 items=1 dev=(28,129)
value=0000000000000000
name='Size' type=int64 items=1 dev=(28,129)
value=0000000000000000
...
...
...
Itt aztán szépen felsorolja az összes partícióra mutató blokkos és karakteres eszközöket, de magára a diszkre nézve nem tartalmaz path-ot.
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni
Solarisba ugye a slice 2 mutat az egesz diskre. Ha annak az utvonalat adod meg neki?
szerk.: Mar semmi, latom megoldodott.
- A hozzászóláshoz be kell jelentkezni
PC-s partíciós tábla esetén a p0 partíció mutat az egész diszkre.
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni
Jogos, en is sparchoz vagyok szokva.
- A hozzászóláshoz be kell jelentkezni
Jaj, a régi szép emlékek. :)
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni
Nade Urak! Nemám visszavágyódunk.
- A hozzászóláshoz be kell jelentkezni
Nem, max csak a társaság hiányzik. :)
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni
A társaság tényleg jó volt ott. Egy hétre visszamennék bármikor.GDF nélkül nem élet az élet :D
- A hozzászóláshoz be kell jelentkezni
Nemtom elírás-e, de itt érdekes lehet:
cXtYdZ-hez még egy (illetve két, 1-1) fontos paraméter kapcsolódhat:
- vagy cX(tY)dZpW, ebben az esetben az fdisk oartíciókra hivatkozunk, a p0 a teljes lemez, 1-től a partíciók (tehát az első 1-es, NEM 0!!!)
- vagy slice-okra hivatkounk, ebben az esetben cX(tY)dZsW a jelőlés, és az s2 a "backup", azaz a teljes "lemez" (azaz x86-on az összes slice-ot tartalmazó patíció maga; sparc-on kicsit másképp van, de (sajnos) azzal nem sokat foglalkozhattam)
A /dev/dsk-ban meg meg tudod nézni, hogy a cX(tY)dZp0, vagy a cX(tY)dZs2 hova mutat a /devices-ben.
HTH
<-------
You can't grep on dead trees.
- A hozzászóláshoz be kell jelentkezni
sajna még megy az erőlködés az msdos meg gpt "fő" partíciós tábla mellett is, hogy megmaradjon a solaris2 partíciós tábla. Nekem szimpatikusabb a sparcon használt megoldás, most meg megy a taknyolás a "wrapper" partíciós táblákkal.
Mindesetre nekem a prtvtoc ugyanazt adja eredményül, akár a 0. partíciót (.../diskX,0:q,raw) , akár a sokkal kisebb solaris2 partíción belüli 0. sclice-t (.../diskX,0:a,raw) hivatkozom meg.
- A hozzászóláshoz be kell jelentkezni
mondjuk igen, ez jogos...
root@space:/home/janos# ./setapm /dev/rdsk/c3t2d0p0
Usage: ./setapm <device> <APM-Level>
where APM-Level = [0..254] (0=Disable APM)
root@space:/home/janos# ./setapm /dev/rdsk/c3t2d0p0 0
root@space:/home/janos#
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni
A dolog működik, igaz nem a fentebb előforduló nullás értékkel.
Ez alapján a 254-es értéket megadva kikapcsolható a spindown, és valóban!
Hurrá!
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni
Solaris 11 alá tudtommal nem is nagyon van a hdparm-hoz hasonló segédprogram, amivel a diszkek beállításait lehetne módosítani.
A format parancsnak van expert menüje, abban vannak érdekes dolgok, pl. SCSI paraméter táblákat tuti lehetett vele tekergetni.
Talán -e opcióval lehet engedélyezni, de a man format majd megmondja.
- A hozzászóláshoz be kell jelentkezni
Megpróbáltam, de a témhoz egyedül talán csak a "Control Mode Page"-nek lehet köze, azt viszont kiolvasni sem sikerült.
scsi> help
SCSI MENU:
p<n> - display a mode sense page
p<n> b<n> <op> [~]<n> - change a byte and issue mode select
b<n> <op> [~]<n> - add an operation to the mode select list
for the current page
where: p<n> specifies the page with page code <n>
b<n> specifies byte <n> of the page
<op> can be one of the following operators:
= (set specified value)
|= (bitwise OR with current value)
&= (bitwise AND with current value)
<n> can be a decimal value in the range 0-255,
or two hexadecimal digits, in the form 0x<xx>.
[~] complements the specified value
apply - apply mode select list
cancel - cancel mode select list
display - display mode select list
all - display all supported mode sense pages
default p<n> - mode select page <n> to default values
default all - mode select all pages to default values
format - format without standard mode selects
inquiry - display device's inquiry response
list - list common SCSI-2 mode pages
!<cmd> - execute <cmd> , then return
quit
scsi> list
Common SCSI-2 pages applicable to direct-access devices:
Page 0x1 - Read-Write Error Recovery Page
Page 0x2 - Disconnect-Reconnect Page
Page 0x3 - Format Device Page
Page 0x4 - Rigid Disk Geometry Page
Page 0x7 - Verify Error Recovery Page
Page 0x8 - Caching Page
Page 0xA - Control Mode Page
scsi> p0xA
Page 0xa:
default: failed
current: failed
saved: failed
changeable: failed
scsi>
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni