Can I Use The WD My Cloud EX2 Ultra Without Any Drive Inserted?


This is Dhiman from Kolkata. I’m planning to buy a WD My Cloud EX2 Ultra diskless NAS enclosure. I wonder whether I can use it without any internal drive inserted into it or not. I have couple of external drives and my plan is to make them available over my Wi-Fi network. So any help on this will be highly appreciated.


I don’t have mine up and running anymore but if I remember correctly you will need at least one drive to set up your username and shares and the reason I believe is that the OS is copied over to the hard drive instead of just booting up in Ram.

However the EX2 are great USB 3 servers or even in jbod mode where you insert a disk and use it over the network. Note that if you insert a disk into the EX2 it has to be formatted for use in only the EX2 itself.

You can attach a USB 3 disk dock to the EX2 USB 3 port to allow swapping of regular NTFS/DOS or EX3 formatted drives.

Good luck.

Thanks Ralphael.

I dont see it advertized, but the EX2 ultra also has the btrfs file system module baked in, meaning you can use disk compression if you set it up right/do some fiddling.

You would need to manually mount the volume though I think. Transparent compression needs to be turned on as a mount option, and I don’t think WD does that by default.

Did some testing with a kick-around drive. While the unit has the modules baked in, it causes divide by zero errors in the kernel space left and right. Here’s some noteworthy excerpts.

[ 323.507781] Division by zero in kernel.
[ 323.510459] CPU: 0 PID: 6 Comm: kworker/u4:0 Tainted: P O 3.10.39 #1
[ 323.516474] Workqueue: writeback bdi_writeback_workfn (flush-btrfs-1)
[ 323.521975] [] (unwind_backtrace+0x0/0xfc) from [] (show_stack+0x10/0x18)
[ 323.529542] [] (show_stack+0x10/0x18) from [] (Ldiv0_64+0x8/0x18)
[ 323.536118] [] (Ldiv0_64+0x8/0x18) from [] (div64_u64+0x24/0xd0)
[ 323.543181] [] (div64_u64+0x24/0xd0) from [] (btrfs_find_space_for_alloc+0x68/0x338 [btrfs])
[ 323.552213] [] (btrfs_find_space_for_alloc+0x68/0x338 [btrfs]) from [] (find_free_extent+0x3b8/0xaa4 [btrfs])
[ 323.562983] [] (find_free_extent+0x3b8/0xaa4 [btrfs]) from [] (btrfs_reserve_extent+0xc8/0x154 [btrfs])
[ 323.572980] [] (btrfs_reserve_extent+0xc8/0x154 [btrfs]) from [] (__cow_file_range+0x17c/0x5d0 [btrfs])
[ 323.583840] [] (__cow_file_range+0x17c/0x5d0 [btrfs]) from [] (run_delalloc_nocow+0x44c/0xac8 [btrfs])
[ 323.593740] [] (run_delalloc_nocow+0x44c/0xac8 [btrfs]) from [] (run_delalloc_range+0x388/0x3ac [btrfs])
[ 323.604169] [] (run_delalloc_range+0x388/0x3ac [btrfs]) from [] (__extent_writepage+0x720/0x910 [btrfs])
[ 323.614255] [] (__extent_writepage+0x720/0x910 [btrfs]) from [] (extent_writepages+0x260/0x3a0 [btrfs])
[ 323.624525] [] (extent_writepages+0x260/0x3a0 [btrfs]) from [] (do_writepages+0x24/0x3c)
[ 323.633121] [] (do_writepages+0x24/0x3c) from [] (__writeback_single_inode+0x28/0x100)
[ 323.641511] [] (__writeback_single_inode+0x28/0x100) from [] (writeback_sb_inodes+0x17c/0x37c)
[ 323.650989] [] (writeback_sb_inodes+0x17c/0x37c) from [] (__writeback_inodes_wb+0x74/0xac)
[ 323.659757] [] (__writeback_inodes_wb+0x74/0xac) from [] (wb_writeback+0x200/0x210)
[ 323.668170] [] (wb_writeback+0x200/0x210) from [] (wb_do_writeback+0x108/0x1c8)
[ 323.676008] [] (wb_do_writeback+0x108/0x1c8) from [] (bdi_writeback_workfn+0x60/0x128)
[ 323.684759] [] (bdi_writeback_workfn+0x60/0x128) from [] (process_one_work+0x10c/0x360)
[ 323.693279] [] (process_one_work+0x10c/0x360) from [] (worker_thread+0x134/0x3b4)
[ 323.701232] [] (worker_thread+0x134/0x3b4) from [] (kthread+0xa4/0xb0)
[ 323.708435] [] (kthread+0xa4/0xb0) from [] (ret_from_fork+0x14/0x3c)

Clearly this thing has a buggy module baked in. Too bad. I really wanted to try out btrfs compression. :frowning: