Jump to content

ljm42

Administrators
  • Posts

    4,469
  • Joined

  • Last visited

  • Days Won

    32

Everything posted by ljm42

  1. Oh ok, that is probably fine then. Thanks again for all of your work on this.
  2. OK, I understand now. I can modify /etc/rc.d/rc.local_shutdown after upgrading the plugin on that last system. But it makes me a little nervous knowing there is a script called during shutdown that can potentially block the shutdown. I can reproduce the problem by executing /usr/sbin/ipmifan without any parameters, it goes into a loop throwing this error multiple times and never exiting: Warning: Invalid argument supplied for foreach() in /usr/local/emhttp/plugins/ipmi/scripts/ipmifan on line 322 Ideally, all of the scripts would check to confirm the appropriate ipmi variables have been set before they try doing anything. This would ensure they don't have any unintended side effects down the road. Is that reasonable? It isn't super urgent, since there is a workaround for the immediate problem.
  3. I still have one more server to update. Any chance this can be fixed, or should I just delete the ipmifan script before the first reboot?
  4. I had the same issue on my main system and my VM, both on 6.4.0_rc14. They both hung when trying to shutdown after installing the 2017.11.29 version of the IPMI plugin (admittedly, there were likely other changes as well) The VM was nice enough to drop some hints on the console, it complained about an undefined value in line 322 of ipmifan: https://github.com/dmacias72/IPMI-unRAID/blob/master/source/ipmi/usr/local/emhttp/plugins/ipmi/scripts/ipmifan#L322 It was stuck in a loop, displaying that error over and over. My main system did not leave any helpful hints on the console, it just hung. Neither system uses the ipmi fan control, they just display temps and fan speeds. After the first reboot, both systems lost their IPMI plugin settings and had to be reconfigured. Subsequent reboots worked without a problem. Note... the reason for the shutdown was to install the latest BMC/Bios (yay, the ASRock Java IPMI console no longer throws Java security errors!), so it is possible that is the reason I had to reconfigure the plugin.
  5. It is not really safe to randomly pick ports under 1023, as they are often already in use. Here is a list of known ports: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers you'll want to avoid reusing anything with an "official" IANA status. Good alternatives for port 443 are 2443 and 8443, as those are available and easy to remember.
  6. This works really well, and seems like a really useful feature for FCP. The only issue I see is for something like the speedtest plugin: https://github.com/dmacias72/unRAID-plugins/blob/master/plugins/speedtest.plg which installs different versions of python depending on the version of unRAID: <FILE Name="&plgPATH;/python-2.7.14-x86_64-1.txz" Min="6.4" Run="upgradepkg --install-new"> <FILE Name="&plgPATH;/python-2.7.13a-x86_64-2.txz" Min="6.2" Max="6.3.99" Run="upgradepkg --install-new"> <FILE Name="&plgPATH;/python-2.7.9-x86_64-1.txz" Max="6.1.99" Run="/sbin/upgradepkg --install-new"> Currently this script tests all three of them: speedtest: Testing /boot/config/plugins/speedtest/python-2.7.14-x86_64-1.txz... Passed speedtest: Testing /boot/config/plugins/speedtest/python-2.7.13a-x86_64-2.txz... Passed speedtest: /boot/config/plugins/speedtest/python-2.7.9-x86_64-1.txz included in plugin, but not present on flash drive I wouldn't really want an FCP warning about a missing 6.1 package, can it evaluate the min/max attributes and only test the one that applies? I suppose it could potentially tell you to delete the older packages too.
  7. Thanks @dmacias and @bonienl ! No more JS errors
  8. Hey @dmacias In this file: https://github.com/dmacias72/IPMI-unRAID/blame/2a8f105d93c3b43c086d0c384176769b046f4b99/source/ipmi/usr/local/emhttp/plugins/ipmi/IPMIButton.page line 24 is causing me problems: <?if ($display['refresh']>0 || ($display['refresh']<0 && $var['mdResync']==0)):?> timers.systemTemp = setTimeout(systemTemp,<?=max(abs($display['refresh']),20000)?>); <?endif;?> Looking at Tools -> Vars, my main server has: [refresh] => -1000 [mdResync] => 0 so the if statement triggers and it renders like this on the page: function ipmiTemp() { $.get('/plugins/ipmi/include/ipmi_temp.php',{unit:'C',dot:'.'},function(data) { if (data) showFooter(data,'temps'); timers.systemTemp = setTimeout(systemTemp,20000); }); } ipmiTemp(); However, when the page loads it throws this error on the browser console: Uncaught ReferenceError: systemTemp is not defined at Object.success (Main:271) at i (dynamix.js:4) at Object.fireWith [as resolveWith] (dynamix.js:4) at z (dynamix.js:6) at XMLHttpRequest.<anonymous> (dynamix.js:6) I noticed this a few days ago when I was on 6.3.5. Am now on 6.4.0_rc14 and have the same error. What happened to the systemTemp function? As a second issue... the "page update frequency" setting was removed from 6.4: https://github.com/limetech/webgui/commit/d71328844fa34c21e1f010d043b375ea3cc82c71#diff-016c1a0fbd1f9c920682a4c175ac82f3 So I'm not sure where I'm supposed to set the value of $display['refresh'] any more?
  9. This concept shows how parity works - if there are an odd number of "1" bits then parity is 1, if there are an even number then parity is 0. The green and white circles were pulled directly from the unRAID interface, so there is a nice tie-in to the product. There is also an Easter egg, the four lines taken together and converted to ascii spell "un" I also included a potential tagline
  10. If you turn the charts off you'll see the graphic
  11. You can get a full console on your unRAID server through a serial port, without needing a dedicated keyboard and monitor. This can be helpful if the server is running headless, or if you need to see error messages after a crash. The unRAID side of things really lends itself to automation, it would make a great plugin. Hint. Hint. Make the physical connection Note: if your unRAID motherboard doesn't have a serial port you might be able add a cheap DB9 RS232 Serial IO card, although I don't have any experience with this. Connect the unRAID system to a desktop computer with the appropriate serial cable: If your desktop computer has a serial port then you just need a null modem cable If your desktop computer doesn't have a serial port, you'll want to purchase a USB to serial null modem cable (Note: I have not used these exact products, but these are examples of what could work) Figure out what COM port is being used by unRAID Login to unRAID via SSH and type: dmesg | grep ttyS On my system I saw this, which showed that unRAID saw a COM port on "ttyS0": [ 7.629239] 00:07: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A If yours is not on "ttyS0", then ask for help as all the commands below will need to be tweaked. BTW, you can use the "setserial" command to further confirm there is a serial port at ttyS0: setserial -g /dev/ttyS0 /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4 Perform a test without making permanent changes to unRAID While connected via SSH, type: (Note that the line that mentions /etc/securetty is not needed from somewhere around 6.8.3+. It won't hurt anything though) sed -i -e "s/^#ttyS0/ttyS0/" /etc/securetty sed -i -e "/^#s1/ i s1:12345:respawn:/sbin/agetty -L ttyS0 115200 vt102" /etc/inittab init q On the desktop computer (these instructions are for Windows, but there should be a similar process for Mac) Go to the Device Manager to figure out which COM ports you have, for instance I only have one at COM3. If you have more than one COM port you'll need to try them all until you make a connection. Install and run Putty In Putty, enable "Serial" communications. In the "Serial line" area, specify your COM port (such as COM3). Set the speed to 115200. Give the session and name and click Save. Then click Open If all goes well, you should see an unRAID login prompt If something goes horribly wrong you can simply reboot unRAID to start fresh and try your changes again Make it permanent Once you've got the basic connection working, let's make it permanent Add the following lines to the end of your /boot/config/go script using a good text editor like Notepad ++ (be sure to save the file with unix line endings, not Windows) (Note that the line that mentions /etc/securetty is not needed from somewhere around 6.8.3+. It won't hurt anything though) # setup serial console sed -i -e "s/^#ttyS0/ttyS0/" /etc/securetty sed -i -e "/^#s1/ i s1:12345:respawn:/sbin/agetty -L ttyS0 115200 vt102" /etc/inittab init q In the unRAID webgui, go to Main -> Boot Device -> Flash -> Syslinux Configuration At the top of the Global Configuration section add: SERIAL 0 115200 Find the "append" line in the "label unRAID OS" area and add this to the end of the line: console=ttyS0,115200 console=tty0 The whole section will look something like this (it could be different depending on what other customizations you have made) label unRAID OS menu default kernel /bzimage append initrd=/bzroot console=ttyS0,115200 console=tty0 When you reboot the system, you should see the entire boot process on both the connected monitor (if there is one) and on the serial connection using Putty. You should be able to login using either the connected keyboard (if there is one) or using Putty. If you want to run headless, disconnect the keyboard and monitor and reboot. Again, you should see the entire boot process (starting with the unRAID boot menu) using Putty. If the system refuses to boot, you'll need to reconnect the keyboard/monitor and poke around in the bios to look for a setting called "Halt on error" and disable it (depending on your specific bios it may be called something else) The best thing about this... Putty has a "record session" option you can use to record everything that happens during boot up. It should also capture any console messages that happen right before a crash. Acknowledgements A big thanks to @Joe L. and @WeeboTech for this post, without it I would not have been able to figure this out This documentation was also helpful to fill in the gaps: http://www.syslinux.org/wiki/index.php?title=SYSLINUX https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html https://docs.slackware.com/howtos:general_admin:serial_console http://www.faqs.org/docs/Linux-HOWTO/Remote-Serial-Console-HOWTO.html
  12. Sorry, I don't see what the problem is. I have been running Photoshow for a while now and it loads tons of photos from the /Pictures directory (which points to a directory on the array) without a problem. Poke around in the /mnt/user/appdata/photoshow/log directory and see if there are any clues?
  13. Sorry I wasn't clear. I was suggesting that instead of spending the time to make your individual dockers support ssl, users could install the Guacamole docker for web-based access to VNC, and then use the LSIO LetsEncrypt docker to reverse proxy Guacamole.
  14. Take a look at the jasonbean/guacamole container. Guacamole can handle the browser-based VNC interface, and it is easy to reverse proxy: https://guacamole.incubator.apache.org/doc/gug/proxying-guacamole.html
  15. You're on the right track with cron, but I don't understand what curl or k.wdt.io has to do with the xfs_fsr command. The easiest way to do cron jobs on unRAID is with the "CA User Scripts" plugin.
  16. Just run it for however long you want and press CTRL-C when you want to stop. Personally, I would just let it run to completion. I don't think the file integrity script has any special code to automatically avoid the .fsr temp directory, you'll need to exclude it as described here.
  17. I have mine set to 1 million, so 4 million doesn't seem out of line. It all depends on how many files are on your system and what dockers and plugins you are running. For instance, if you have Plex set to watch for new files, that will take inotify watches. If CrashPlan is looking for files to backup, that will take inotify watches. If Dynamix File Integrity is looking for files that change, that will take inotify watches. If the File Activity plugin is watching for files that are opened, that will use inotify watches. There are probably others In short... the more files you have, and the more apps you have that watch them, the more inotify watches you need.
  18. For me, that wget command completed in 6.2s on the 9f VM and 8.2s on the 6.3.5 host. Strange that the VM was faster, but I suppose I'd need to download multiple times to draw any real conclusions about that. Since everything is working for you now I won't try to downgrade my VM to test the speed on 8q. I'm glad it is good for you now!
  19. I'm at 3 days, 6 hours, 1 minute! LOL, we had a power outage a few days ago. Otherwise the answer would be "however long it has been since the last stable release" (I typically do all my pre-release testing on a VM)
  20. If you don't have access to the USB creator tool, you can still setup the flash drive manually The hardest part about this is finding the download file for the RC's. You'll need to look at the plugin code for either STABLE or NEXT and find the url in this area of the file: <FILE Name="/tmp/unRAIDServer.zip"> Follow the instructions here for the basic setup: https://lime-technology.com/getting-started/ When you get to the part about running make_bootable, first edit the make_bootable.bat file, changing line 32 from: set tag=UNRAID to: set tag=UNRAID-VM Then run the script as administrator and answer 'Y' at this prompt: Permit UEFI boot mode [Y/N] Note: if you decline this, then you will need to manually rename the "EFI-" directory to "EFI" To prevent conflicts with an existing server named "Tower", edit the config/ident.cfg file and change the server name to TowerVM: NAME="TowerVM" Now continue with the "Make a few edits" portion of the guide above
  21. If you prefer to get your information via video, check out this guide by IBRACORP: https://docs.ibracorp.io/all-guides-in-order/documentation/virtual-unraid It follows pretty closely with mine below, but they also show how to take advantage of the USB Manager plugin so your VM flash drive can be the same brand as your host flash drive. --------------------------------------- This guide will help you install Unraid in a VM on an Unraid host. This can be useful if you want to test the functionality of new versions before upgrading your main system, or if you need to develop plugins that work across versions. Limetech does not officially support running Unraid in a VM, so this should not be used for production data. Note that you will need a valid license key for the Unraid VM. And since Unraid licensing is tied to a physical USB flash drive, you cannot boot the VM from an img file. Also, the VM's flash drive has to be a different manufacturer than the host's flash drive. A note on versions To run Unraid 6.4.0-rc5 or greater in a VM The guide below works if you want to run Unraid 6.4.0-rc5 or greater in a VM. This version added the ability to boot via EFI, which means the VM can boot directly from a flash drive instead of a vdisk. The guide assumes the host is running 6.3.5, but other versions will likely work as well. To run Unraid 6.2.0-rc1 to 6.4.0-rc4 in a VM Starting with 6.2.0-rc1, it became possible to change the label of the flash drive to something other than "UNRAID", which means we no longer have to pass an entire USB controller through to the VM. See these instructions. To run anything(?) older than 6.2.0-rc1 in a VM See this excellent blog post by CHBMB on the Linuxserver.IO team. This pioneered the process of running Unraid in a VM under unRAID. Let's Begin Prepare the flash drive for the VM On your Windows or Mac desktop, use the Unraid USB creator tool to create your flash drive (or see the manual instructions in the next post) Note that the VM's flash drive has to be a different manufacturer than the host's flash drive. If your main system is named "Tower", be sure to specify a different name for the VM. Perhaps "TowerVM". Click the option to "Allow EFI boot" Write the image to the VM's flash drive Make a few edits Change the label of the flash drive from "UNRAID" to "UNRAID-VM" Edit syslinux/syslinux.cfg on the flash drive and add unraidlabel=UNRAID-VM to the "append" line, like this: label unRAID OS menu default kernel /bzimage append unraidlabel=UNRAID-VM initrd=/bzroot Make the same change to the "label Unraid OS GUI Mode" and "label Unraid OS Safe Mode" areas as well If the guest VM was created on a host that is 6.11.2 or higher, you can skip this step. If the VM was created on an earlier version of Unraid you will need this file. Create a file called startup.nsh in the root of the flash drive which contains the single line below. This prevents Unraid from getting stuck at the EFI shell. \EFI\boot\bootx64.efi Make note the manufacturer of the flash drive while it is still accessible. You'll need it later. Insert the flash drive into your server and reboot. If the system tries to boot from the new "UNRAID-VM" flash drive, you'll need to adjust settings in the bios to get it to consistently boot from the original "UNRAID" flash drive instead. Once that is done, boot the host into Unraid. Setup the VM on the host On the host system, go to Settings -> VM and make sure VMs are enabled. See the manual Go to the VMs -> Templates tab and select the Slackware option Click on the Slackware icon and change it to the Limetech Unraid icon Change the name to something relevant, like UNRAID-VM Give it access to perhaps 2 CPUs and 3.0 GB of RAM (initial and max should be the same). Choose the highest level Q35 Machine Set the BIOS to OVMF, and if the host is 6.11.2 or higher set "Enable USB boot" to Yes. Leave the USB Controller at "2.0 (EHCI)" Add a vdisk for a cache drive and at least one data drive. Parity is optional, depending on what kind of testing you want to do. You can create all the vdisks from this interface, just provide a size, set the type to RAW and the bus to SATA. Hit the plus sign to add more drives. Note that the vdisks have random names in the VM, it might help you identify which is which through their filesizes. i.e. make the parity slightly larger than the data drives, and make the cache drive different as well. Leave the graphics/sound/network settings at their defaults. In the USB Devices area, put a check mark next to the UNRAID-VM flash drive. Unfortunately, you can't see the label here so you'll have to identify it by manufacturer. If the VM's flash drive and the host's flash drive have the same manufacturer, the VM's drive will not be visible. Create and start the VM Back on the VMs -> Virtual Machines page you can click the Unraid icon and then choose "VNC Remote" to watch the VM boot. Note the IP address is displayed right before the login prompt. Configure the VM Point a web browser at the IP address identified in the last step Optionally, go to Settings -> Identification and set the description to something like "Unraid as guest" Since this is a test system, you'll probably want to go to Settings -> SMB Settings -> Workgroup Settings and set Local Master to No. If you have a UPS on the host system (and you do, right?) go to Settings -> UPS (on the VM) and set the UPS cable to "Ether", UPS type to "net" and Device to the IP address of your host. Configure the runtime settings so the VM turns off before the host, and set "Turn off UPS" to no. Then start the UPS daemon. Add the array devices and cache drive that were setup previously and start the array Add Community Applications From here, add dockers and plugins as needed for testing. Note that you can update the Unraid VM as you would a normal bare-metal system, by going to Tools -> Update OS Regarding system temps: If your system has IPMI, you can install the "IPMI support" plugin in the guest VM and configure it to talk to the BMC IP address to get system temps and fan speeds. If your system does not have IPMI then the Unraid VM will not have access to the sensors needed for the Dynamix System Temp plugin, so you will need to rely on the host OS to report temps. Nested Virtualization If you want to experiment with nested virtualization, on the host system go to Main -> Boot Device -> Flash -> Syslinux Config and add "kvm_intel.nested=1" to your "append" line (and reboot). It should look something like this: label Unraid OS menu default kernel /bzimage append initrd=/bzroot kvm_intel.nested=1 If you have an AMD processor, use "kvm_amd.nested=1" instead. For more details see this thread: https://forums.unraid.net/topic/40927-nested-virtualization/ And while this page isn't specific to Unraid, it does have some good information: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/nested_virt Related feature requests / bug reports We need an Unraid VM template and icon Requested improvements to the USB creator tool With the second flash drive in your system, you will see an "SG_IO: bad/missing sense data" or "/dev/sdX: No such file or directory" error message on the console of the host system. It is just cosmetic, here is the bug report. No longer an issue. When defining the VM, if the client's flash drive has the same manufacturer as the host's flash drive, it will not be shown in the list of devices. Ideally, only the host's drive would be suppressed here, not all drives by that same manufacturer.
  22. It is clearly not something that LSIO supports, but this gives some hints on how to run your own code in the Plex docker: https://github.com/linuxserver/docker-plex/issues/99
  23. That was fast! Thanks @Squid, No more complaints from FCP about the disk format
  24. The app still connects, but the plugin is confused about whether SSL is enabled. Starting with 6.4.0-rc8q, SSL on/off is specified in /boot/config/ident.cfg rather than the go script.
×
×
  • Create New...