Voor de geïnteresseerde (ik kreeg meerdere vragen over unraid i.c.m. xpenology) zet ik mijn ervaringen met het opbouwen van een xpenology vm in unraid:
Belangrijk om de VM op te bouwen met de volgende stappen:
- Kies "Ubuntu" als OS
- Kies "SeaBIOS" als BIOS
- Kies "Q35-6.0" als Machine (mogelijk dat het ook werkt met 6.1, zelf niet getest nog)
- Voeg meerdere disks toe met type=raw en bus=sata (ik heb 5 disks à 50GB aangemaakt, de eerste later verwijderd die was niet nodig maar dan is de disk in de xml al voorbereid)
Sla deze op en vervolgend bewerk de VM maar ga naar XML mode (rechtsboven in). Je past dan de volgende punten aan:
- Disk 1 moet vervangen worden met synoboot.img (de bootloader, ik zelf gebruik een DS918+ bootloader omdat ik daar een werkende s/n voor heb en dus ook de synology services kan gebruiken)
- Controleer dat bij disk 1 ook de controller='0' melding staat.
- Bij disk 2 en hoger moet controller='1' staan (maximaal 6 devices, 0 t/m 5, per controller, maar pin me er niet aan vast)
- Controleer ook dat dus de disks allemaaal type='raw' staat en cache='writeback' staat en de bus='sata'
- En dan belangrijk qua netwerk, zet het model type om naar 't volgende: <model type='e1000-82545em'/>
Verder wat punten:
Ik heb OSFMount gebruikt om 't bootimage aan te passen. De volgende aanpassingen daarop doorgevoerd:
- Het bootimage wat ik gebruik is dus voor de DS918+
- Ik heb de extra drivers toegevoegd uit de extra918plus_v0.12.1.zip file die op xpenology forums gedeelt wordt, deze worden geplaatst op de '2de' disk als je 't image mount middels OSFMount
Wijzigingen in Grub.cfg:
- Ik heb niks gedaan met mac adressen gelijk trekken. Het image heeft m'n DSM918+ mac addressen van 't origineel gekregen en 't S/N die daar bij hoort.
- Ik heb wel een aanpassing gedaan op de sataportmaps: set sata_args='SataPortMap=888'. Dit laatste is nodig i.v.m. de controller aanpassingen die je dus doorvoert in de XML
- En ik heb de eerste 2 menu entries eruit gehaald (middels # ervoor te zetten) en dus alleen de laatste zichtbaar gemaakt.
- Hieronder nog even een stukje dus uit grub.cfg
code:
1
2
3
4
5
6
7
8
9
10
| set vid=0x1908
set pid=0x0226
set sn=xxxxxxxxxxxx
set mac1=xxxxxxxxxxxx
set mac2=xxxxxxxxxxxx
set rootdev=/dev/md0
set netif_num=1
set extra_args_918=''
set common_args_918='syno_hdd_powerup_seq=1 HddHotplug=0 syno_hw_version=DS918+ vender_format_version=2 console=ttyS0,115200n8 withefi elevator=elevator quiet syno_hdd_detect=0 syno_port_thaw=1'
set sata_args='SataPortMap=888' |
En hierbij m'n XML voor de VM.
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
| <?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='1'>
<name>DiskStation</name>
<uuid>339126ee-b2d4-6d83-a38c-e7d7116526ad</uuid>
<metadata>
<vmtemplate xmlns="unraid" name="Ubuntu" icon="ubuntu.png" os="ubuntu"/>
</metadata>
<memory unit='KiB'>4194304</memory>
<currentMemory unit='KiB'>4194304</currentMemory>
<memoryBacking>
<nosharepages/>
</memoryBacking>
<vcpu placement='static'>4</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='0'/>
<vcpupin vcpu='1' cpuset='1'/>
<vcpupin vcpu='2' cpuset='2'/>
<vcpupin vcpu='3' cpuset='3'/>
</cputune>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-q35-6.0'>hvm</type>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='host-passthrough' check='none' migratable='on'>
<topology sockets='1' dies='1' cores='2' threads='2'/>
<cache mode='passthrough'/>
</cpu>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/local/sbin/qemu</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/user/domains/DiskStation/synoboot.img' index='5'/>
<backingStore/>
<target dev='hdc' bus='sata'/>
<boot order='1'/>
<alias name='sata0-0-2'/>
<address type='drive' controller='0' bus='0' target='0' unit='2'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/user/domains/DiskStation/vdisk2.img' index='4'/>
<backingStore/>
<target dev='hdd' bus='sata'/>
<alias name='sata1-0-2'/>
<address type='drive' controller='1' bus='0' target='0' unit='2'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/user/domains/DiskStation/vdisk3.img' index='3'/>
<backingStore/>
<target dev='hde' bus='sata'/>
<alias name='sata1-0-3'/>
<address type='drive' controller='1' bus='0' target='0' unit='3'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/user/domains/DiskStation/vdisk4.img' index='2'/>
<backingStore/>
<target dev='hdf' bus='sata'/>
<alias name='sata1-0-4'/>
<address type='drive' controller='1' bus='0' target='0' unit='4'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/user/domains/DiskStation/vdisk5.img' index='1'/>
<backingStore/>
<target dev='hdg' bus='sata'/>
<alias name='sata1-0-5'/>
<address type='drive' controller='1' bus='0' target='0' unit='5'/>
</disk>
<controller type='usb' index='0' model='ich9-ehci1'>
<alias name='usb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci1'>
<alias name='usb'/>
<master startport='0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci2'>
<alias name='usb'/>
<master startport='2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci3'>
<alias name='usb'/>
<master startport='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
</controller>
<controller type='sata' index='0'>
<alias name='ide'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='sata' index='1'>
<alias name='sata1'/>
<address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
</controller>
<controller type='pci' index='0' model='pcie-root'>
<alias name='pcie.0'/>
</controller>
<controller type='pci' index='1' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='1' port='0x10'/>
<alias name='pci.1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
</controller>
<controller type='pci' index='2' model='pcie-to-pci-bridge'>
<model name='pcie-pci-bridge'/>
<alias name='pci.2'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='3' port='0x11'/>
<alias name='pci.3'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='4' port='0x12'/>
<alias name='pci.4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
</controller>
<controller type='pci' index='5' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='5' port='0x13'/>
<alias name='pci.5'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
</controller>
<controller type='virtio-serial' index='0'>
<alias name='virtio-serial0'/>
<address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</controller>
<interface type='bridge'>
<mac address='52:54:00:8e:51:38'/>
<source bridge='br0'/>
<target dev='vnet0'/>
<model type='e1000-82545em'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
</interface>
<interface type='bridge'>
<mac address='52:54:00:d4:18:22'/>
<source bridge='br0'/>
<target dev='vnet1'/>
<model type='e1000-82545em'/>
<alias name='net1'/>
<address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/0'>
<source path='/dev/pts/0'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-DiskStation/org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
<alias name='channel0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
<input type='tablet' bus='usb'>
<alias name='input0'/>
<address type='usb' bus='0' port='1'/>
</input>
<input type='mouse' bus='ps2'>
<alias name='input1'/>
</input>
<input type='keyboard' bus='ps2'>
<alias name='input2'/>
</input>
<graphics type='vnc' port='5900' autoport='yes' websocket='5700' listen='0.0.0.0' keymap='en-us'>
<listen type='address' address='0.0.0.0'/>
</graphics>
<audio id='1' type='none'/>
<video>
<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</memballoon>
</devices>
<seclabel type='dynamic' model='dac' relabel='yes'>
<label>+0:+100</label>
<imagelabel>+0:+100</imagelabel>
</seclabel>
</domain> |