[Ubuntu 8.04] Willekeur in block devices

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 21:35
Onder xen heb ik een installatie draaien van ubuntu 8.04 server edition (domU). Hierbij heb ik 2 block devices geconfigureerd. (Vanuit xen als hda en sda). Onder ubuntu komt alles naar voren als sd* devices.

Op een of andere manier pakt ubuntu de block devices willekeurig op. Het begint al bij de installaties eigenlijk, hij geeft sda aan om te partioneren en te installen, maar word uiteindelijk als sdb geplaatst. Opzich geen probleem. De 2de block device partitioneer ik handmatig, plaats ik ook handmatig in de fstab.

Op dit moment is het eerste blockdevice bekend als sdb en de 2de als sda. Maar bij de volgende boot is sdb1 gemount als / (klopt) en sda1 gemount als /data (klopt). Wat niet klopt is dat sda1 en sdb1 exact hetzelfde bevatten!!

Ik heb virtuele machine door enkele boot cycles laten gaan, resultaat soms goed, soms niet goed. Er word overigens altijd goed opgestart.

Hierna heb ik een hoop handmatig liggen te rotzooien in fstab (Ik gebruik gewoonlijk altijd slackware, waar ik alles zelf meer in de hand heb :P)

Het resultaat is altijd onzeker met elke boot. De /-mount, mount altijd goed. De /data-mount doet waar ie zin in heeft.

(PS, ik begon wel dat het installatie als Xen domU is, hier zit het probleem zeker te weten niet in)

Hoe kan ik in ubuntu ervoor zorgen dat sda altijd sda is en sdb altijd sdb is, wat er ook gebeurd?

[ Voor 4% gewijzigd door Keiichi op 21-02-2009 18:17 ]

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/


Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Heb je ook geprobeerd om gewoon te mounten per UUID in plaats van devicenaam? Die UUID blijft gewoon gelijk namelijk, en is precies voor dit soort gevallen heel handig.

Acties:
  • 0 Henk 'm!

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 21:35
blaataaps schreef op zaterdag 21 februari 2009 @ 20:41:
Heb je ook geprobeerd om gewoon te mounten per UUID in plaats van devicenaam? Die UUID blijft gewoon gelijk namelijk, en is precies voor dit soort gevallen heel handig.
Dat kan een idee zijn. Hoe kom ik achter deze UUID's?

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/


Acties:
  • 0 Henk 'm!

Verwijderd

Je kunt hiervoor ook gebruik maken van udev regels indien je gebruik maakt van udev, op die manier kun je aan de hand van bepaalde regels ervoor zorgen dat een device altijd de naam krijgt die jij wil dat het krijgt.

Zulke regels kunnen zeer simpel zijn of juist heel uitgebreid, het is een heel flexibel systeem.

Acties:
  • 0 Henk 'm!

  • GraveR
  • Registratie: Januari 2000
  • Laatst online: 22-08 19:26
Keiichi schreef op zaterdag 21 februari 2009 @ 21:17:
[...]


Dat kan een idee zijn. Hoe kom ik achter deze UUID's?
code:
1
ls -l /dev/disk/by-uuid/

Acties:
  • 0 Henk 'm!

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 21:35
GraveR schreef op zaterdag 21 februari 2009 @ 21:25:
[...]

code:
1
ls -l /dev/disk/by-uuid/
Ik ga hiermee eens aan de slag. (Even mij backup fstab terughalen om te kijken hoe dat precies in z'n werk gaat O-) )
Verwijderd schreef op zaterdag 21 februari 2009 @ 21:20:
Je kunt hiervoor ook gebruik maken van udev regels indien je gebruik maakt van udev, op die manier kun je aan de hand van bepaalde regels ervoor zorgen dat een device altijd de naam krijgt die jij wil dat het krijgt.

Zulke regels kunnen zeer simpel zijn of juist heel uitgebreid, het is een heel flexibel systeem.
Ubuntu heeft een vrij uitgebreide regels, maar niets voor block devices.

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/


Acties:
  • 0 Henk 'm!

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Keiichi schreef op zaterdag 21 februari 2009 @ 21:33:
[...]


Ik ga hiermee eens aan de slag. (Even mij backup fstab terughalen om te kijken hoe dat precies in z'n werk gaat O-) )
Ubuntu gebruikt die dingen toch standaard in de installatie? Als jij aangeeft dat ie sda moet partitioneren, zou ie deze ook goed moeten mounten. Je MBR e.d. zijn even een ander verhaal :)

Alternatief: blkid /dev/sda1

Redhat en varianten gebruiken hier labels voor, die je opgeeft bij de mkfs of met tune2fs kunt zetten. Kun je eventueel ook nog gebruiken.
Keiichi schreef op zaterdag 21 februari 2009 @ 21:33:
[...]


Ubuntu heeft een vrij uitgebreide regels, maar niets voor block devices.
Het gaat om udev regels, niet om Ubuntu's regels :)

http://reactivated.net/writing_udev_rules.html

Je zou bijvoorbeeld kunnen zeggen:
SUBSYSTEM=="block", ATTRS{model}=="SAMSUNG HD501LJ ", NAME="sda"

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Medusa rules.d # udevadm info -a -p `udevadm info -q path -n /dev/sda`

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/block/sda':
    KERNEL=="sda"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{range}=="16"
    ATTR{ext_range}=="256"
    ATTR{removable}=="0"
    ATTR{ro}=="0"
    ATTR{size}=="976773168"
    ATTR{capability}=="52"
    ATTR{stat}=="   32566    25318   510318   145244    17601   139571  1219251  1011051        0   120262  1156283"

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0':
    KERNELS=="0:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{device_blocked}=="0"
    ATTRS{type}=="0"
    ATTRS{scsi_level}=="6"
    ATTRS{vendor}=="ATA     "
    ATTRS{model}=="SAMSUNG HD501LJ "
    ATTRS{rev}=="CR10"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{iocounterbits}=="32"
    ATTRS{iorequest_cnt}=="0xc40c"
    ATTRS{iodone_cnt}=="0xc40c"
    ATTRS{ioerr_cnt}=="0x0"
    ATTRS{modalias}=="scsi:t-0x00"
    ATTRS{evt_media_change}=="0"
    ATTRS{queue_depth}=="31"
    ATTRS{queue_type}=="simple"

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0':
    KERNELS=="target0:0:0"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/host0':
    KERNELS=="host0"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1f.2':
    KERNELS=="0000:00:1f.2"
    SUBSYSTEMS=="pci"
    DRIVERS=="ahci"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x2822"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x8277"
    ATTRS{class}=="0x010400"
    ATTRS{irq}=="315"
    ATTRS{local_cpus}=="3"
    ATTRS{local_cpulist}=="0-1"
    ATTRS{modalias}=="pci:v00008086d00002822sv00001043sd00008277bc01sc04i00"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

We are pentium of borg. Division is futile. You will be approximated.

Pagina: 1