Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

scorcho99

Members
  • Joined

  • Last visited

Everything posted by scorcho99

  1. Are you sure 0000:06:00.0 is the right device? It wouldn't be unheard of for the pci slot ids to change between bios versions.
  2. I'd make sure all the virtualization options are still enabled in bios, updating usually resets to defaults.
  3. My experience is if the host had an opportunity to touch the GPU on boot, either the UEFI or bios implementation of the GPU vbios is "tainted" and only the other one will work. Some people have luck using a vbios dump to work around this, I never have. But there are options to block most of the GPU drivers (including really simply ones like vesafb) from loading which have helped me in the past.
  4. @Dtrain This is a cutdown version of the script with just the temporary file service upload and download mechanism. Add or create the "go" and "stop" files in ./config/ on your flash drive While it will probably work as is, I'd recommend changing RandomPassPhraseStringOne and StaticEncryptPassword to your own random strings. (The idea here is you don't necessarily trust the file service to be holding your raw keyfile password, so we first encrypt it with a different local password) go file: #!/bin/bash # Start the Management Utility /usr/local/sbin/emhttp & #first check if we have a remote key to use and use that if [ -f "/boot/config/keyfile_remote.hint" ]; then REMOTE_GET_TARGET=$(<"/boot/config/keyfile_remote.hint") wget "${REMOTE_GET_TARGET}" --tries=5 --waitretry=15 --output-document=/root/pulldown.enc if [ -s "/root/pulldown.enc" ]; then openssl enc -d -aes-256-cbc -pbkdf2 -iter 20000 -in /root/pulldown.enc -out /root/keyfile -k RandomPassPhraseStringOne -pass pass:StaticEncryptPassword fi rm "/boot/config/keyfile_remote.hint" rm /root/pulldown.enc fi #start array if it didn't already take, bizarrely this is done by sending a curl command to the server itself sleep 30 if [ ! -e /mnt/disk1 ]; then echo "manual mount" CSRF=$(cat /var/local/emhttp/var.ini | grep -oP 'csrf_token="\K[^"]+') RESULT=$(curl -k --data "startState=STOPPED&file=&csrf_token=${CSRF}&cmdStart=Start" http://localhost/update.htm) else echo "array already mounted" fi stop file: #!/bin/bash #stop file with handlers for remote upload #removed custom vm shutdown script from here #====start push up an ecrypted copy of the keyfile to a temporary file service if [ -f "/root/pushup.enc" ]; then rm "/root/pushup.enc" fi if [ -f "/root/keyfile" ]; then openssl enc -aes-256-cbc -pbkdf2 -iter 20000 -in /root/keyfile -out /root/pushup.enc -k RandomPassPhraseStringOne -pass pass:StaticEncryptPassword if [ -s "/root/pushup.enc" ]; then SUCCESS=0 FINALURL="" echo "tmpfiles.org try" DATARETURN=$(curl -F "file=@/root/pushup.enc" https://tmpfiles.org/api/v1/upload ) #jq r option drops quotes STATUS=$(jq -r '.status' <<<"$DATARETURN") if [[ $STATUS == "success" ]]; then URLDATARET=$(jq -r '.data' <<<"$DATARETURN") URLRET=$(jq -r '.url' <<<"$URLDATARET") if [ "x$URLRET" = "x" -o "$URLRET" = "null" ];then echo "error extracting url" else #add the /dl to the url for direct download, otherwise this downloads the webpage not the file FINALURL="${URLRET/tmpfiles.org/"tmpfiles.org/dl"}" SUCCESS=1 fi else echo "tmpfiles.org failed upload" fi #if not success, try others if [ $SUCCESS -eq 0 ]; then echo "file.io try" DATARETURN=$(curl -F "file=@/root/pushup.enc" https://file.io/?expires=60m) STATUS=$(jq -r '.success' <<<"$DATARETURN") if [[ $STATUS == "true" ]]; then FINALURL=$(jq -r '.link' <<<"$DATARETURN") if [ "x$FINALURL" = "x" -o "$FINALURL" = "null" ];then echo "error extracting url" else SUCCESS=1 fi else echo "file.io failed upload" fi fi #if not success, try others if [ $SUCCESS -eq 0 ]; then echo "transfer.sh try" FINALURL=$(curl -H "Max-Downloads: 1" -H "Max-Days: 1" --upload-file "/root/pushup.enc" https://transfer.sh/pushup.enc) if [ "x$FINALURL" = "x" -o "$FINALURL" = "null" ];then echo "error extracting url" else SUCCESS=1 fi fi #finally write file if [ $SUCCESS -eq 1 ]; then echo "${FINALURL}" > "/boot/config/keyfile_remote.hint" fi else echo "pushup.enc not found or empty!" fi else echo "no keyfile found!" fi #=========end push up
  5. Yes, essentially. The keyfile is uploaded to on online service with curl that temporarily holds files which expire after an hour. When the array starts it attempts to pull down the uploaded file first and use it. The script is based on a separate USB flash drive for the keyfile script I found on here somewhere. The temporary online service was my own addition, basically removing the need to even plug the special unlock keyfile flash drive in when the most common reboot cases occur.
  6. I have stop and go scripts that upload the keyfile contents to a website that expires the upload after an hour. Then the go file downloads from there. I can also manually enter the passphrase. This means common reboots for software updates or to quickly add a drive I don't have to do anything. But if the whole server is stolen they'd have to rapidly reboot it to get it to unlock. I think this meets the threat model of "my server got stolen" pretty well.
  7. Can multiple guests access the same virtioFS drive at the same time?
  8. What I'd like to do is prefer using disks that already have share data on them until they are full and only then start writing to extra disks. Basically I want to limit unnecessary spin ups. I'm looking at the docs and I don't think I can do this. I can set include to only use the current disks but that won't automatically use others when it runs out of space. I thought fill up might do this but it sounds like that just goes for the lowest number disk with free space.
  9. I'd like the compile flags to be set to that I can use virgl3d, which can accelerate video decode in VMs without having to passthrough a physical GPU.
  10. I am still on 6.9.2 at the moment. I plan to convert the VM to UEFI. There is a janky way to trick libvirt into taking snapshots with UEFI so I guess I'm stuck hacking it together since there seems to be no priority in fixing this. I'm not sure this solution will work for everyone. I might also test using an nvidia card in place of the radeon.
  11. No updates for me, still on 6.9.2. I may test 6.12 but I doubt it will be an improvement. I will also try an nvidia card in that slot as I now have a spare, but that is academic knowledge. I can probably sort of make the VM work with OVMF I guess but I'll lose easy snapshots.
  12. So it took a little digging and another post on here, but it seems like the 'powerdown' command itself calls a script which then calls the 'stop' file which doesn't exist by default but can be created. It runs very early in the process so it should fit this use case nicely.
  13. Is there a way to do this? I'd like to perform some actions before shutdown/restart using bash scripts. Is there a way that I can hook into the existing shutdown/restart to do this? Failing that I guess I'd like to make my own shutdown script that calls the safe shutdown somehow so that I don't need a parity check on reboot.
  14. This seems like it is possible but I don't know how to do it since I don't know much about syslinux or how unraid implements it. I'd like to add some utilities, including a different version of memtest that auto reboots on successful completion, to the unraid boot menu. Can I already boot ISO files directly? Or how do I generate a syslinux OS image that I can add to the boot menu? Has anyone done something similar?
  15. So this seems to be working fine (so far) for my purposes at least. Since I was reusing a previously used unassigned device disk all I did was enable destructive mode and delete the paritions off then create the new parition and filesystem as so: NOTE: * is the unassigned device name, this will be different parted /dev/sd* mklabel msdos mkpart Partition type? primary/extended? primary File system type? [ext2]? ext4 Start? 0% End? 100% quit mkfs.ext4 /dev/sd*1 At this point unassigned devices picked up there was a parition and I just clicked the mount button.
  16. Sorry, I guess the post here made it sound like the formatting option was removed to me: Regardless, can I format them with another method (either command line or I guess I could pass the whole disk to a VM or even remove it temporarily) and then have them automount as usual? Thanks
  17. I understand ext4 was removed as a format option but I'd like to use it anyway because I need a non-journaled filesystem and as I understand it the default mount options for ext4 will work. Is there a way to do this still even if it is kind of a backdoor?
  18. This is an old post I know... I have this problem with the pegged core with my secondary GPU, a radeon r7 360. The funny thing is I always have that problem in 6.10 and later. So I stuck on 6.9. But I recently noticed that I actually sometimes have it on 6.9 as well. The sporadic nature, and the fact it seems to never happen on first boot, but once it does happen one VM that uses it might book OK but made me thing it is some kind of resource leak or something. Can you explain the 'memory not mapped properly' issue I might encounter and how I would troubleshoot it? I have plenty of free memory but I could see some sort of fragmentation issue being involved. I'm pretty stumped on this one though.
  19. Apologies if this is a dumb question: Is it possible to mount an unassigned device prior to the array being mounted? I'd like to encypt my array and store the key file on a separate flash drive, which seems like I would need to mount first to access.
  20. I have a similar issue with an older Radeon that works fine in 6.9.2 but breaks in 6.10 and later, with a black screen and one core pegged to 100% when the VM is up. If I use a OVMF VM it works ok but I don't really use those because they do not fully support VM snapshots. Plus it is a pain to switch a traditional bios windows VM install to UEFI.
  21. VirGL supports video decoding acceleration (and actually recently added some encoding acceleration) which might be an even bigger boon than its 3D acceleration. I'd really like to have access to that.
  22. Thanks @ghost82 that is kind of a headache to parse but I feel I understand the structure a bit better now. I actually think based on reading this that provided the VM is off (nothing mapped to memory in that case) that there is no negative effect, provided I restore pflash before startup. (I actually never tried actually booting with the 'rom' value set. Maybe it works fine? It seems like an invalid, or at least not covered config based on the above) That is acceptable for my use anyway, I generally do all my snapshots with the VM off anyway to avoid the restores being in a crash state.
  23. @SimonF Did you ever find any issues with this backdoor way of allowing UEFI VMs to internal snapshot? I gather it did not work with with TPM Windows 11 but I don't need that, just windows 10 and linux VMs. I don't expect it will save and restore the virtual bios settings (which I think was the main reason this was initially disabled, ugh) but I don't care much about those. It is very frustrating that they didn't leave an override option for this.
  24. This would be a nice feature but I just link up to unraid with virt-manager (SpaceInvaderOne's tutorial) and manage snapshots with that. You could also do it commandline if you want to do it the hard way.
  25. You can try using network filters to block all traffic except to certain ip ranges. https://libvirt.org/formatnwfilter.html

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.