napp-it cs on Linux (Debian, Proxmox, Ubuntu etc)
napp-it cs should be able to remotely manage any Linux ZFS system (X86 or Arm) up from a Raspberry4 with 4GB RAM.
Only requirement is Perl (on Linux mostly preinstalled) and curl
main Linux platform for napp-it cs is Proxmox due the included ZFS and advanced VM features
- install Proxmox (other Linux)
- after installation, login as root
- optionally install smartmontools
download newest cs_server to /opt/web-gui
wget -O - www.napp-it.org/nappitcs | perl
After first download add an auth string to /opt/web-gui/server.auth (WinSCP)
Use the same auth string in your memberfile in the web-gui client
Server auth (like all keys in
napp-it cs) should be hex values 0-9a-f as they can be generated safely
from
an easy to remember short pw and there is no confusion between characters like 0OiIlL.
Re-download: Up from second download, cs server is (re)started automatically or run as root
perl /var/web-gui/cs_server/start_server_as_admin.pl
or upload cs_server folder via WinSCP
C:\xampp\web-gui\data\cs_server and start
perl /var/web-gui/cs_server/start_server_as_admin.pl
Web-gui management
You can now manage your Linux ZFS server remotely from any browser.
(Start frontend client with Apache webserer on Windows)
Install ksmbd SMB Server on Proxmox (SMB Direct/ RDMA capable, much faster as SAMBA)
apt install ksmbd-tools
modprobe ksmbd
Then create /etc/ksmbd/ksmbd.conf (SAMBA smb.conf alike settings), use the example file as template (WinSCP)
Start/Stop:
root@pve:~# systemctl stop ksmbd
root@pve:~# systemctl start ksmbd
root@pve:~# systemctl restart ksmbd
For anonymous access (ksmbd.conf) check needed settings:
[global]
unix charset = UTF-8
workgroup = WORKGROUP
server string = SMB-Server
guest account = nobody
create mask = 0775
directory mask = 0755
browsable = yes
map to guest = bad user
..
[share_example]
guest ok = yes
path = /tmp
..
remove SAMBA if installed:
systemctl stop samba
apt remove samba
Setup NFS server in Proxmox
sudo apt update
sudo apt install nfs-kernel-server
edit shares in /etc/exports
napp-it cs on Qnap or TrueNAS (Linux)
You can use napp-it cs to monitor them in a servergroup (Status and Alerts) and to replicate between group members
but you cannot use napp-it cs to manage them as you can't or should not use CLI commands like zfs or zpool outside the GUI.
Qnap
You must install Perl manually, https://www.myqnap.org/product/perl/
Disk detection does not work (Qnap lacks lsblk and does not use basic disks to build vdevs)
napp-it storage VM
You can use napp-it on OmniOS as a storage VM.
This gives you a robust and resource efficient ZFS server based on an Opensource Solaris (OpenZFS compatible)
with the Solaris kernelbased SMB server (ultra easy to configure, local SMB groups, ntfs alike ACL, Windows SID / no id mapping needef)
################## obsolete infos #############################
No longer supported, but may run
############################################################
A regular napp-it:
napp-it on Linux (works in a minimal edition with ZFS and Job management)
- install any Linux
- setup ZFS
- on Ubuntu: apt-get install zfsutils-linux
- on Debian 8.6, use apt-get install lsb-release, wget ..zfsonlinux..deb, dpkg ...deb,
apt-get update, apt-get install debian-zfs
- On Debian you must install sudo: apt-get install sudo
- napp-it expects a pool ex tank to be mounted under /tank
- start napp-it
- open a console, enter su and cd /root and run
wget -O - www. napp-it.org/nappit | perl
This downloads napp-it
Start napp-it for the first time with root permissions via
sudo sh /var/web-gui/data/tools/linux/napp-it
After the initial start, you can start via commands "sudo napp-it" and stop via "sudo napp-it-stop"
There is no autostart enabled during boot.
When you have created a pool, you should export/import to pool to use wwn disk enumaration
On some Linux napp-it may run if you install sudo, netcat and mini-http manually:
On ESXi you must enable UUID disk detection:
Power off the guest.
Select the guest and select Edit Settings.
Select the Options tab on top.
Select General under the Advanced section.
Select the Configuration Parameters... on right hand side.
Check to see if the parameter disk.EnableUUID is set, if it is there then make sure it is set to TRUE.
If the parameter is not there, select Add Row and add it.
Power on the guest.
The following is obsolete with current napp-it
Linux (currently Debian 7, Ubuntu 14 LTS)
I support Linux with basic ZFS, disk and job management, monitoring and remote replication with OmniOS
Restrictions:
Linux is not my preferred or main platform. Many napp-it features rely on Solaris projects like
the CIFS server with Windows SID and ACL support, Comstar iSCSI or Crossbow network virtualisation.
A napp-it version with similar functionality like on OmniOS is currently not planned.
current state: preview, work in progress
Setup napp-it on Ubuntu 14 LTS (console commands)
## Setup on ESXi ##
- create a new Linux VM with 16 GB (OS) and 3 x 10 GB (Testpool)
- edit Settings of this VM (we need to identify disks by-id):
By default VMWare doesn't provide information needed by udev to generate /dev/disk/by-id.
This can be done by setting the following: http://www.novell.com/support/kb/doc.php?id=7002966
Start the vSphere Client, and log in to a vCenter Server.
Select Virtual Machines and Templates and click the Virtual Machines tab.
Right-click the virtual machine for which you are enabling the disk UUID attribute, and select Power > Power Off.
The virtual machine powers off.
Right-click the virtual machine, and click Edit Settings.
Click the Options tab, and select the General entry in the settings column.
Click Configuration Parameters. The Configuration Parameters window appears.
Click Add Row.
In the Name column, enter disk.EnableUUID
In the Value column, enter TRUE
Click OK and click Save.
Power on the virtual machine.
## Download Ubuntu 14 LTS setup ISO and install onto the 20 GB disk
download from http://releases.ubuntu.com/trusty/ and install
- add SSH server during setup
- create a new admin user during setup ex "me"
after setup, reboot and
- login as this user
## enable root (disable with delete pw)
sudo passwd root
login as root (or start commands with sudo)
## If network is down after setup, bring it up with dhcp like
ifconfig eth0 up
dhclient eth0
check your ip config:
ifconfig
## Install SSH (for Putty or WinSCP)
apt-get install ssh (if not installed during setup)
Edit /etc/ssh/sshd_config (use midnight commander or nano):
Find the line PermitRootLogin no (or other restriction)
and change it to PermitRootLogin yes
Restart ssd
sudo service ssh restart
## You can now connect from Windows as user root via WinSCP (file browser/editor) and Putty (remote console)
where you can copy paste commands with a mouse right-click). If you use putty as me, switch to root with su
## var 1: install ZoL manually on Ubuntu 14 LTS, use Putty to allow copy/paste of commands with a mouse-right-click
## Server-Update to use ZFS and napp-it:
apt-get update && apt-get dist-upgrade -y
## PPA setup:
apt-add-repository ppa:zfs-native/stable -y
## Install build environment
apt-get install build-essential --no-install-recommends -y
## Add NFS/SMB Server
apt-get install nfs-kernel-server samba -y
## ZFS-Installation:
apt-get update
apt-get install ubuntu-zfs -y
opt: add iSCSI
apt-get install targetcli --no-install-recommends -y
## On Ubuntu 12 LTS I did it in this order:
## http://www.latentexistence.me.uk/zfs-and-ubuntu-home-server-howto/ or others
## apt-get install python-software-properties -y
## add-apt-repository ppa:zfs-native/stable
## apt-get update
## apt-get install ubuntu-zfs -y
## apt-get install nfs-kernel-server samba -y
## Napp-it setup: you can now run the online installer from your home directory:
cd /$HOME
wget -O - www.napp-it.org/nappit | perl
After online updates, do a napp-it logout/login
The installer does the following:
- install basic tools like bonnie, mc, netcat and smartmontools
- adduser napp-it --shell /bin/false --no-cretae-home --disabled-password --gecos ''
- add the foolowing to /etc/sudoers:
- edit /etc/sudoers
#no passwd for napp-it sudo (place at the end of the file)
napp-it ALL=(ALL) NOPASSWD: ALL
- Configure napp-it with mini-httpd
- edit /etc/default/mini-httpd (autostart with START=1)
- edit /etc/mini-httpd.conf for these settings
## Manage napp-it from a Browser (replace serverip with your current ip from ifconfig)
http://serverip:81
If you cannot connect; please rerun the wget installer a second time!!
## Stop napp-it manually (as root)
/etc/init.d/napp-it stop
## Start napp-it manually (as root)
/etc/init.d/napp-it start
Discuss Problems at
http://forums.servethehome.com/linux-unraid-openfiler/
http://hardforum.com//forumdisplay.php?f=29
http://www.hardwareluxx.de/community/f101/ (german)
- use device by-id disk names, if your pool use id's like sda, export/import the pool, it will use then ata, iscsi or wwn names.
Setup napp-it on Debian 7.3
setup mostly similar to Ubuntu
- Download netinstall iso
http://cdimage.debian.org/debian-cd/7.3.0/amd64/iso-cd/debian-7.3.0-amd64-netinst.iso
- upload to ESXi datastore
ESXi:
- new VM with UUID enabled (see Ubuntu setup)
- connect DVD to netinstall iso
- create a 16 GB bootdisk and install Debian
with SSH Server
Install ZFS via Putty as root
http://bernaerts.dyndns.org/linux/75-debian/279-debian-wheezy-zfs-raidz-pool
wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux 1%7Ewheezy all.deb
dpkg -i zfsonlinux_1~wheezy_all.deb
apt-get update
apt-get install debian-zfs parted ntfs-3g mountall
Install sudo
apt-get install sudo
Install SMB and NFS Server
apt-get install nfs-kernel-server samba
Install napp-it per wget
cd /$HOME
wget -O - www.napp-it.org/nappit | perl
add napp-it to group sudo with command: gpasswd -a napp-it sudo
Edit /etc/sudoers (use WinSCP connected as root):
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
## supress Console messages from sudo
Defaults logfile=/dev/null
Defaults !syslog
##
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
#no passwd for napp-it sudo (place at end of file)
napp-it ALL=(ALL) NOPASSWD: ALL
Start/stop napp-it manually
/etc/init.d/napp-it start (stop)
Setup napp-it on other Linux distributions
- you must setup ZFS with NFS and SMB server
- sudo is required (for user napp-it without password)
- mini-httpd webserver is required for napp-it (run as user napp-it)
- disk identification is dev by-id
optionally compare the setup with Debian/ Ubuntu 7 and the
wget online installer in function "sub linux"