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.

Fastcore

Members
  • Joined

  • Last visited

  1. Unraid 7.1.4: “Stop Array” still tears down independent ZFS pools & libvirt; Parity check scans full parity disk instead of logical range Version: Unraid 7.1.4 Setup summary: · Native ZFS / ZFS plugin enabled · standalone ZFS pool (e.g., ssd_pool) holds all VM assets (libvirt.img, vdisks, ISOs) under /mnt/disks/ssd_pool/... · Minimal/auxiliary Unraid array present · Parity device: 16 TB; largest data disk: 8 TB (others ≤8 TB) 1. Lack of true separation: stopping the array also tears down independent ZFS pools and libvirt/VMs Expected. In a multi-pool world, a ZFS pool that is entirely independent of the Unraid array should remain imported/mounted when the array is stopped or reconfigured. VM services that live only on that pool should be able to continue running (or at least remain intact) while array maintenance happens. Actual (7.1.4) Clicking Stop on the array: · exports/unmounts all ZFS pools (including those unrelated to the array), · unmounts /etc/libvirt (because libvirt.img is on ZFS and gets unmounted), · kills libvirt and any running VMs. Typical log symptoms: rc.libvirt: Starting virtlock daemon... error : main:906 : Can't load config file: Failed to open file '/etc/libvirt/virtlockd.conf' rc.libvirt: Starting libvirt daemon... rc.libvirt: libvirt daemon... No image mounted at /etc/libvirt It forces full downtime for services that are deliberately off-array. Repro (minimal) Create/import a ZFS pool ssd_pool. Place libvirt.img, vdisks, ISOs on ssd_pool (e.g., /mnt/disks/ssd_pool/...). Mount libvirt.img to /etc/libvirt and start libvirt/VMs via virsh. In the GUI, click Stop on the array. Result: ZFS is exported, /etc/libvirt disappears, libvirt/VMs die. Manual workarounds (they exist, but…) Early import/mount of ZFS via /boot/config/go: modprobe zfs zpool import -N -a zfs mount -a Manually mounting libvirt.img and starting libvirt via custom scripts: mount -t btrfs -o loop .../libvirt.img /etc/libvirt /etc/rc.d/rc.libvirt start Disabling VM Manager and running everything via virsh. Hooking or bypassing plugin stop/export behavior. However: these are unsupported hacks, fragile across updates, and leave the GUI inconsistent with system state. They also miss the point: users shouldn’t have to defeat core lifecycle logic to keep an independent pool online. Request Per-pool lifecycle controls in the GUI (import/export/mount per pool, independent of array start/stop). ZFS option: “Do not export this pool when array is stopped” (mark a pool as independent/protected). VM Manager option: allow libvirt/VMs to run when array is stopped if all assets are off-array. Stop/Start dialog that enumerates subsystems (Array, each Pool, Docker, libvirt) with checkboxes so users can exclude independent pools/services from a global stop. 2. Parity check scans the full parity device instead of the effective logical range Context Parity disk: 16 TB Largest data disk: 8 TB LBAs beyond 8 TB on the parity disk cannot be influenced by any data disk; parity there is effectively parity of zeroes. Expected A logical parity check should, by default, scan only up to the highest LBA used by any data disk (here: 8 TB). That verifies actual array parity without wasting time on the unused tail of the parity device. Actual (7.1.4) Parity check reads the entire 16 TB parity drive, including the unused 8–16 TB tail. This adds hours of read I/O, wear, heat, and power draw, without improving parity correctness for the array’s effective range. Request Provide two explicit modes in the parity check UI: Logical parity check (recommended): scan only up to largest data disk size. Full device surface read: optional, for users who want a long hardware read test of the parity drive. Make the logical mode the default when data disks are smaller than parity. THX FC
  2. Yes, I can agree with all you have told and it's really not against my inquiry's. My scenario just gives to admin decision what to do and what is best way for certain situation.
  3. Of course it is, but: 1. All unraid operations are time consuming - if you want add a bigger or replace defected with bigger (what is most common because people buy always bigger) then you need: swap parity what will take lets say 12-20 h (if we talk of 8T), then install old parity as array member what will take another 5- 10h (if we talk about 4T); of course time will be incensed if the array will stay working. 2. It's the rule in raid systems to use equal or bigger disk to replace or extend. In my opinion could be applied also in unraid.
  4. enclosed example - this seagate is 0.02 GB bigger - can not be use.
  5. Sure. Of course it is lost, but I think it could be very useful for certain situations.
  6. Understood, thank you. I believe this shall be good feature. All bigger disks could be format to parity disk size. Best regards
  7. I see you don't understand the problem
  8. Sure, but it is not my point. The idea of unraid is to use every disk which can be smaller or equal the parity. Why not bigger It is very good question regarding emergency or just flexibility of this product. Additionally if someone would like to use ssd as the parity for eg. 4TB, equal 4TB HDD can not be added because it's slightly bigger. For me it makes nonsense.
  9. Hi, I would like to ask how to add bigger disk? My point is to add 8TB to array when parity is 4TB. Of course it is understandable that it will use the half of capacity, but I think it shall be possible. Anybody knows how to do it ? FC
  10. the same with other 2022-08-08 05:56:51.655429 [info] Host is running unRAID 2022-08-08 05:56:51.690440 [info] System information Linux unas 5.15.46-Unraid #1 SMP Fri Jun 10 11:08:41 PDT 2022 x86_64 GNU/Linux 2022-08-08 05:56:51.740832 [info] OS_ARCH defined as 'x86-64' 2022-08-08 05:56:51.790826 [info] PUID defined as '99' 2022-08-08 05:56:51.878693 [info] PGID defined as '100' 2022-08-08 05:56:52.137921 [info] UMASK defined as '000' 2022-08-08 05:56:52.168100 [info] Setting permissions recursively on '/config'... chown: changing ownership of '/config/urbackup/log': Input/output error chown: changing ownership of '/config/urbackup/tmp': Input/output error chown: changing ownership of '/config/urbackup/config': Input/output error chown: changing ownership of '/config/urbackup/fileindex': Input/output error chown: changing ownership of '/config/urbackup/sqlite/tmp': Input/output error chown: changing ownership of '/config/urbackup/sqlite': Input/output error chown: changing ownership of '/config/urbackup': Input/output error chown: changing ownership of '/config': Input/output error chmod: changing permissions of '/config': Input/output error chmod: changing permissions of '/config/urbackup': Input/output error chmod: changing permissions of '/config/urbackup/log': Input/output error chmod: changing permissions of '/config/urbackup/tmp': Input/output error chmod: changing permissions of '/config/urbackup/config': Input/output error chmod: changing permissions of '/config/urbackup/fileindex': Input/output error chmod: changing permissions of '/config/urbackup/sqlite': Input/output error chmod: changing permissions of '/config/urbackup/sqlite/tmp': Input/output error [warn] Unable to chown/chmod '/config', assuming SMB mountpoint /usr/local/bin/init.sh: line 88: /config/perms.txt: Input/output error Created by... ___. .__ .__ \_ |__ |__| ____ | |__ ____ ___ ___ | __ \| |/ \| | \_/ __ \\ \/ / | \_\ \ | | \ Y \ ___/ > < |___ /__|___| /___| /\___ >__/\_ \ \/ \/ \/ \/ \/ https://hub.docker.com/u/binhex/ 2022-08-08 15:15:42.077782 [info] Host is running unRAID 2022-08-08 15:15:42.101987 [info] System information Linux unas 5.15.46-Unraid #1 SMP Fri Jun 10 11:08:41 PDT 2022 x86_64 GNU/Linux 2022-08-08 15:15:42.130212 [info] OS_ARCH defined as 'x86-64' 2022-08-08 15:15:42.162120 [info] PUID defined as '99' 2022-08-08 15:15:42.196184 [info] PGID defined as '100' 2022-08-08 15:15:42.318998 [info] UMASK defined as '000' 2022-08-08 15:15:42.348512 [info] Setting permissions recursively on '/config'... chown: changing ownership of '/config/urbackup/log': Input/output error chown: changing ownership of '/config/urbackup/tmp': Input/output error chown: changing ownership of '/config/urbackup/config': Input/output error chown: changing ownership of '/config/urbackup/fileindex': Input/output error chown: changing ownership of '/config/urbackup/sqlite/tmp': Input/output error chown: changing ownership of '/config/urbackup/sqlite': Input/output error chown: changing ownership of '/config/urbackup': Input/output error chown: changing ownership of '/config': Input/output error chmod: changing permissions of '/config': Input/output error chmod: changing permissions of '/config/urbackup': Input/output error chmod: changing permissions of '/config/urbackup/log': Input/output error chmod: changing permissions of '/config/urbackup/tmp': Input/output error chmod: changing permissions of '/config/urbackup/config': Input/output error chmod: changing permissions of '/config/urbackup/fileindex': Input/output error chmod: changing permissions of '/config/urbackup/sqlite': Input/output error chmod: changing permissions of '/config/urbackup/sqlite/tmp': Input/output error [warn] Unable to chown/chmod '/config', assuming SMB mountpoint /usr/local/bin/init.sh: line 88: /config/perms.txt: Input/output error ** Press ANY KEY to close this window **
  11. additionaly doker log: "ERROR","http-apr-8888-exec-2","08/08/2022","08:03:29","",";can't create directory /tmp/DiskSpeed/Instances/local/controller;lucee.runtime.exp.NativeException: can't create directory /tmp/DiskSpeed/Instances/local/controller at lucee.commons.io.res.type.file.FileResource.createDirectory(FileResource.java:293) at lucee.runtime.tag.Directory.actionCreate(Directory.java:637) at lucee.runtime.tag.Directory.doStartTag(Directory.java:371) at environment_cfm$cf.call(/environment.cfm:53) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:933) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:823) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:805) at application_cfm$cf.call(/Application.cfm:5) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:933) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:823) at lucee.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:56) at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:45) at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2464) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2454) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2427) at lucee.runtime.engine.Request.exe(Request.java:44) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1090) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1038) at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:102) at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:684) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1152) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684) at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2464) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: can't create directory /tmp/DiskSpeed/Instances/local/controller ... 42 more "
  12. Hi, Lucee 5.2.9.31 Error (java.io.IOException) Messagecan't create directory /tmp/DiskSpeed/Instances/local/controller StacktraceThe Error Occurred in /var/www/environment.cfm: line 53 51: </CFIF> 52: <CFIF DirectoryExists("#PersistDir#/controller") EQ "NO"> 53: <CFDIRECTORY action="create" directory="#PersistDir#/controller" createpath="true" mode="666"> 54: </CFIF> 55: <CFIF DirectoryExists("#PersistDir#/driveinfo") EQ "NO"> called from /var/www/Application.cfm: line 5 3: <CFSET StartTick=GetTickCount()> 4: <CFINCLUDE TEMPLATE="CustomTags.cfm"> 5: <CFINCLUDE TEMPLATE="environment.cfm"> Java Stacktracelucee.runtime.exp.NativeException: can't create directory /tmp/DiskSpeed/Instances/local/controller at lucee.commons.io.res.type.file.FileResource.createDirectory(FileResource.java:293) at lucee.runtime.tag.Directory.actionCreate(Directory.java:637) at lucee.runtime.tag.Directory.doStartTag(Directory.java:371) at environment_cfm$cf.call(/environment.cfm:53) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:933) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:823) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:805) at application_cfm$cf.call(/Application.cfm:5) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:933) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:823) at lucee.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:56) at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:45) at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2464) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2454) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2427) at lucee.runtime.engine.Request.exe(Request.java:44) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1090) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1038) at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:102) at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:684) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1152) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684) at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2464) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: can't create directory /tmp/DiskSpeed/Instances/local/controller ... 42 more Timestamp8/8/22 8:03:29 AM CEST

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.