default login after install: root/1234 Setup: mfsmaster ip alias on dedicated master or follow server ms1 dedicated master server HC1 with SSD ml1 metadata logger HC1 with SSD cs1 = chunk server 1 & master server 1 cs2 = chunk server 2 & master server 2 (shadow) ###################### #as user dth cat < ~/.tmux.conf # Rebind to Ctrl-a set -g prefix C-a unbind C-b bind a send-prefix bind C-a last-window bind '"' choose-window # Rebind pane splitting unbind % bind - split-window -v bind _ split-window -h # Set status bar set -g status-bg colour236 set -g status-fg white set -g status-left '#[fg=green]#H' # Highlight active window set-window-option -g window-status-current-bg colour164 # Force 256 colors set -g default-terminal "screen-256color" EOF ###################### # set auto login ssh public key mkdir ~/.ssh echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCydiLwWmO+qfZ7o9jVC6PlosuZUAcQzQwLhlVUbrSSPQV6Mww7VOa4nV+vufHe6R9bcWq/TntE9oNPpmqfXcHc2xIevVWsAroBWEzQz54YHDkWRpq3aSBhoDn0DBYVT83qnE8hQc6btmz9g3h7lXvSZo7gIpDKwMT3RFSENYbRFzzXDkwhTNMDB0fGonm2O4vwscC9JBD3+mmk5w/F/Q4MHHw9wh4MWFsniIem5f8lnhMoZOyAVInbLnSxxFoO8VRY4t7ZDOUK6m40q9gAlVBSOZ405VOLJbYOq8gaZ0DfGA9OITy45W8lNlvaGOYtkW0O3YHBRL4yi5c8SOO7GITwOQEEHLFbHBSr9x1/ue091NNpb/m5AmVEnRrBNYRZPx1tLKUmGieoZHTyLd2P7PTFMRp20s/DFoyRRVchyptNYsgEjENeQvl0scpbiZKJY5QsfjP+xiVqgZcotd4NxFwJodGQ5L8hY0l6aHTqLFnvfiMN2b1bETD7WDqOW1S7xxfQAfBWJW8lEnaVoXxUVxDdVnO7JGYly3105eVm+MLadpTgdwpkchmH19kliFMtHlPxvbeHaLkliAIBd/GFc2WjSsGvghhh6s2atcpXZMuSu0al0YDxGfuTA3CGs6V4Cw7hYr3wok+G9vtFuztrTwVDZ+5xFtlL4X2ALpdM6vJDyw== dth@imac27" >> ~/.ssh/authorized_keys ###################### #change to root sudo -s #add this to /etc/hosts on every machine: cat <> /etc/hosts 192.168.42.139 ml1 192.168.42.140 ms1 mfsmaster 192.168.42.141 cs1 192.168.42.142 cs2 192.168.42.143 cs3 192.168.42.144 cs4 192.168.42.145 cs5 192.168.42.146 cs6 192.168.42.147 cs7 192.168.42.15 cache EOF #remove odroidxu4 reference from /etc/hosts sed -i "s/odroidxu4//" /etc/hosts #after boot, disable auto upgrades #root rm /etc/systemd/system/timers.target.wants/apt-daily-upgrade.timer echo XX > /etc/hostname #use cache to speedup download cat <> /etc/apt/apt.conf Acquire::http::Proxy "http://cache:3142/"; Acquire::https::Proxy "DIRECT"; EOF apt update apt -y dist-upgrade apt -y install vim xfsprogs procinfo mosh tmux xfsprogs hdparm hddtemp iperf3 rsync #avoid renaming interfaces #add a new line before "# final boot args" in /boot/boot.ini extraargs="net.ifnames=0 biosdevname=0" #after reboot ethernet devices will no longer be renamed (important for ip alias for the master) ---------------------- #change from DHCP to static ip address cat <> /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.42.139 #change according to the host you are installing netmask 255.255.255.0 gateway 192.168.42.1 dns-nameserver 192.168.42.62 EOF ###################### #now is a good to reboot to see if login ssh without password works and 'ip a' should show eth0 interface ###################### #root # install HDD shutdown script cd /tmp wget https://dn.odroid.com/5422/script/odroid.shutdown install -o root -g root -m 0755 ./odroid.shutdown /lib/systemd/system-shutdown/odroid.shutdown rm odroid.shutdown ###################### #add extra programs needed for all server types apt install iptables-persistent netfilter-persistent # say no to saving existing rules both for ipv4&6 #if encryption is used (yubikey) apt install cryptsetup yubikey-luks #not checked yet, IMPORTANT TO UPDATE WHEN USING IT #Note that there’s a bug in the Yubikey LUKS shell script, as it refers to the wrong path. Correct it with the following: #sed -i "s#scripts\/#lib\/cryptsetup\/cryptdisks\.#g" /usr/share/yubikey-luks/ykluks-keyscript apt install xfsprogs hdparm hddtemp iperf3 rsync #Disable unused Services #Disable the unwanted WPA Supplicant service: systemctl disable wpa_supplicant systemctl stop wpa_supplicant #Disable unwanted pre-scheduled tasks: rm "/etc/cron.daily/apt-compat" #Tuning cat < /etc/sysctl.conf ## ARM Tuning kernel.printk = 3 4 1 3 vm.min_free_kbytes = 16384 ## Out-of-the-box Raspbian Hardening fs.protected_hardlinks = 1 fs.protected_symlinks = 1 ## Out-of-the-box Debian Hardening vm.mmap_min_addr = 32768 kernel.kptr_restrict = 1 kernel.yama.ptrace_scope = 1 net.ipv4.conf.default.rp_filter=1 net.ipv4.conf.all.rp_filter=1 net.ipv6.conf.all.use_tempaddr = 2 net.ipv6.conf.default.use_tempaddr = 2 ## Security / Hardening kernel.sysrq = 0 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1 net.netfilter.nf_conntrack_tcp_loose = 0 ## Performance over security net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_timestamps = 0 ## Network Performance net.ipv4.tcp_window_scaling = 1 net.core.rmem_max = 268435456 net.core.rmem_default = 67108864 net.core.wmem_max = 268435456 net.core.wmem_default = 67108864 net.core.optmem_max = 2097152 net.ipv4.tcp_rmem = 1048576 67108864 268435456 net.ipv4.tcp_wmem = 1048576 67108864 268435456 net.ipv4.tcp_mem = 1048576 67108864 268435456 net.ipv4.udp_mem = 1048576 67108864 268435456 net.core.netdev_max_backlog = 10000 net.ipv4.tcp_no_metrics_save = 1 ## Memory / Cache Management vm.overcommit_memory = 1 # vm.dirty_background_ratio = 3 vm.dirty_ratio = 10 vm.vfs_cache_pressure = 120 EOF #time synchronisation cat <> /etc/systemd/timesyncd.conf NTP=192.168.42.1 EOF timedatectl set-ntp true #configure firewall rules cat < /etc/iptables/rules.v6 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] COMMIT EOF cat < /etc/iptables/rules.v4 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -m tcp -p tcp --dport 9400:9450 -m state --state NEW -j ACCEPT -A INPUT -m tcp -p tcp --dport 22 -s 192.168.42.0/24 -m state --state NEW -j ACCEPT -A INPUT -m udp -p udp --sport 67:68 --dport 67:68 -d 255.255.255.255 -m state --state NEW -j ACCEPT -A INPUT -d 224.0.0.1 -j DROP -A INPUT -m udp -p udp --dport 137:138 -j DROP -A INPUT -j LOG --log-prefix "INPUT:DROP:" --log-level 6 -A INPUT -j DROP -A FORWARD -j LOG --log-prefix "FORWARD:DROP:" --log-level 6 -A FORWARD -j DROP -A OUTPUT -o lo -j ACCEPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -m tcp -p tcp --dport 9400:9450 -m state --state NEW -j ACCEPT -A OUTPUT -m udp -p udp --dport 123 -m state --state NEW -j ACCEPT -A OUTPUT -m udp -p udp --sport 67:68 --dport 67:68 -m state --state NEW -j ACCEPT -A OUTPUT -m udp -p udp --dport 53 -m state --state NEW -j ACCEPT -A OUTPUT -m tcp -p tcp --dport 53 -m state --state NEW -j ACCEPT -A OUTPUT -j LOG --log-prefix "OUTPUT:DROP:" --log-level 6 -A OUTPUT -j DROP COMMIT EOF # Install mooseFS packages wget -O - "https://ppa.moosefs.com/moosefs.key" | apt-key add - cat < /etc/apt/sources.list.d/moosefs.list deb http://ppa.moosefs.com/moosefs-3/apt/raspbian/stretch stretch main EOF apt update ############ Metadata Master Server, CGI & CLI components: apt install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli #Copy the example mfsexports.cfg into the /etc/mfs directory: cp "/etc/mfs/mfsexports.cfg.sample" "/etc/mfs/mfsexports.cfg" chmod 644 "/etc/mfs/mfsexports.cfg" #Copy the example mfsmaster.cfg into the /etc/mfs directory: cp "/etc/mfs/mfsmaster.cfg.sample" "/etc/mfs/mfsmaster.cfg" chmod 644 "/etc/mfs/mfsmaster.cfg" cat <> /etc/mfs/mfsmaster.cfg DATA_PATH = /metadata/master NICE_LEVEL = -15 # LOCK_MEMORY = 1 ATIME_MODE = 4 EOF #Prepare the /etc/default/moosefs-master file: touch "/etc/default/moosefs-master" chmod 644 "/etc/default/moosefs-master" #CGI server touch "/etc/default/moosefs-cgiserv" chmod 644 "/etc/default/moosefs-cgiserv" #Enable the CGI Server: echo "MFSCGISERV_ENABLE=true" > /etc/default/moosefs-cgiserv systemctl enable moosefs-cgiserv #master node #enable the Metadata Server: echo "MFSMASTER_ENABLE=true" > /etc/default/moosefs-master systemctl enable moosefs-master #install additional scripts: cd /tmp wget http://www2.dth.net/computer/moosefs/moosefsprogs.tar.bz2 cd / tar xvf /tmp/moosefsprogs.tar.bz2 rm /tmp/moosefsprogs.tar.bz2 ######################################################################################### root@ml1:/# blkid -o value -s UUID "/dev/sda1" 5377b9d6-a2e6-4933-ad0c-98df827b95f6 ######################################################################################### ############ Chunk Server: apt install moosefs-chunkserver echo "MFSCHUNKSERVER_ENABLE=true" > /etc/default/moosefs-chunkserver systemctl enable moosefs-chunkserver #install additional scripts: cd /tmp wget http://www2.dth.net/computer/moosefs/moosefsprogs.tar.bz2 cd / tar xvf /tmp/moosefsprogs.tar.bz2 rm /tmp/moosefsprogs.tar.bz2 ############################ # autostart somethings in /etc/rc.local cp -a /etc/rc.local /etc/rc.local.ORIG cat < /etc/rc.local #!/bin/sh -e for scr in cpucap masternic sched-disk do if [ -x "/usr/local/sbin/${scr}" ] then nohup "/usr/local/sbin/${scr}" < /dev/null > /dev/null 2>&1 & fi done exit 0 EOF ############################ mkdir /mnt/moosefs chown root.root /mnt/moosefs chmod 755 /mnt/moosefs echo "/dev/sda1 /mnt/moosefs xfs rw,noatime,nodiratime,nodev,nosuid,noexec,attr2,largeio,inode64,noquota 0 2" >> /etc/fstab mount /dev/sda1 /mnt/moosefs chown mfs:mfs /mnt/moosefs chmod 755 /mnt/moosefs echo "/mnt/moosefs" >> /etc/mfs/mfshdd.cfg chmod 644 "/etc/mfs/mfshdd.cfg" cat <> /etc/mfs/mfschunkserver.cfg NICE_LEVEL = -10 LOCK_MEMORY = 1 LABELS = A # uneven CS number A, even CS numbers B EOF #ready to start the server service moosefs-chunkserver start 3ba9f94e-21ed-4c7a-91a7-dc23c43f3451 cs7 #fstab UUID=[xxxx] /mnt/moosefs xfs rw,noatime,nodiratime,nodev,nosuid,noexec,attr2,largeio,inode64,noquota 0 2 ######################################################################################### #Configure MooseFS Services mkdir /etc/mfs chown root:root /etc/mfs chmod 755 /etc/mfs # autostart somethings in /etc/rc.local cp -a /etc/rc.local /etc/rc.local.ORIG cat < /etc/rc.local #!/bin/sh -e for scr in cpucap masternic sched-disk do if [ -x "/usr/local/sbin/${scr}" ] then nohup "/usr/local/sbin/${scr}" < /dev/null > /dev/null 2>&1 & fi done exit 0 EOF #Harden the SSHD [in progress] #initialize the disk #wipe old data <- destructive command ! dd if=/dev/zero of=/dev/sda bs=512 count=4096 #use either parted or gdisk to make GPT partition table parted --align optimal /dev/sda mklabel gpt mkpart moosefs 0% 100% #without encryption #format partition sudo mkfs.xfs -s size=4k -f /dev/sda1 #find uuid blkid -o value -s UUID "/dev/sda1" eg 5780a88e-4ef6-4543-b226-def3258224db mkdir -p "/chunks/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" root@ms1:/home# mkfs.xfs -s size=4k -f /dev/sda1 meta-data=/dev/sda1 isize=512 agcount=4, agsize=14651877 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=0 data = bsize=4096 blocks=58607505, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=28616, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 root@ms1:/home# blkid -o value -s UUID "/dev/sda1" 5780a88e-4ef6-4543-b226-def3258224db root@ms1:/home# mkdir -p "/chunks/5780a88e-4ef6-4543-b226-def3258224db" root@ms1:/home# chown root:root /chunks/5780a88e-4ef6-4543-b226-def3258224db/ root@ms1:/home# chmod 755 /chunks/5780a88e-4ef6-4543-b226-def3258224db/ root@ms1:/home# mount /dev/sda1 /chunks/5780a88e-4ef6-4543-b226-def3258224db/ root@ms1:/home# df -h Filesystem Size Used Avail Use% Mounted on udev 927M 0 927M 0% /dev tmpfs 200M 6.5M 193M 4% /run /dev/mmcblk1p1 59G 640M 56G 2% / tmpfs 996M 0 996M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 996M 0 996M 0% /sys/fs/cgroup tmpfs 996M 0 996M 0% /tmp /dev/zram0 49M 2.9M 43M 7% /var/log tmpfs 200M 0 200M 0% /run/user/0 tmpfs 200M 0 200M 0% /run/user/1000 /dev/sda1 224G 261M 224G 1% /chunks/5780a88e-4ef6-4543-b226-def3258224db root@ms1:/home# chown mfs:mfs /chunks/5780a88e-4ef6-4543-b226-def3258224db root@ms1:/home# chmod 755 /chunks/5780a88e-4ef6-4543-b226-def3258224db/ root@ms1:/home# chmod 755 /chunks/5780a88e-4ef6-4543-b226-def3258224db root@ms1:/home# cd /chunks/5780a88e-4ef6-4543-b226-def3258224db/ root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# mkdir -p metadata/master root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# mkdir metadata/logger root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# chmod -R 755 metadata/ root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# chown -R mfs:mfs metadata/ root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# ln -s /chunks/5780a88e-4ef6-4543-b226-def3258224db/metadata/ /metadata root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# mv /var/lib/mfs/metadata.mfs metadata.mfs metadata.mfs.empty root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# mv /var/lib/mfs/metadata.mfs.* /chunks/5780a88e-4ef6-4543-b226-def3258224db/metadata/master/ root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# chown mf:mfs metadata/master/* chown: invalid user: ‘mf:mfs’ root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# chown mfs:mfs metadata/master/* root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# sed -i "s#var\/lib\/mfs#metadata\/master#g" "/lib/systemd/system/moosefs-master.service" root@ms1:/chunks/5780a88e-4ef6-4543-b226-def3258224db# sed -i "s#var\/lib\/mfs#metadata\/logger#g" "/lib/systemd/system/moosefs-metalogger.service" sed: can't read /lib/systemd/system/moosefs-metalogger.service: No such file or directory ############ CHUNK SERVER ######################### apt install lizardfs-chunkserver #enable to auto start it at bootup: systemctl enable lizardfs-chunkserver use gdisk to partition hd mkfs.xfs /dev/sda1 XFS enables write barriers by default since kernel version 2.6.17, but they can be disabled using explicit nobarrier. As you can see in your mount output, nobarrier option is not used. According to XFS FAQ, if write barriers are disabled without the explicit mount option, a log entry is generated. You can check the kernel logs on running system with dmesg. Kernels after version 4.10 will always perform integrity operations and barrier/nobarrier mount option is ignored (as documented in man 5 xfs). #make mount point mkdir /mnt/lizardfs use blkid to make fstab entry: eg: vi /etc/fstab #execute this command: :r!blkid -o value -s UUID "/dev/sda1" and make it like : UUID=254e6a97-b600-48e1-84ec-ad8cd4778850 /mnt/lizardfs xfs rw,noexec,nodev,noatime,nodiratime,largeio,inode64 0 1 move config and other files to the new version, for future upgrade cd /etc mv lizardfs mfs; ln -s mfs lizardfs cd /var/lib/ mv lizardfs mfs; ln -s mfs lizardfs echo 'WORKING_USER = root' >> /etc/mfs/mfschunkserver.cfg echo 'WORKING_GROUP = root' >> /etc/mfs/mfschunkserver.cfg echo '/mnt/lizardfs' >> /etc/mfs/mfshdd.cfg ###################### MASTER SERVER ############# apt-get install lizardfs-master cd /etc mv lizardfs mfs; ln -s mfs lizardfs cd /var/lib/ mv lizardfs mfs; ln -s mfs lizardfs echo 'PERSONALITY = master' >> /etc/mfs/mfsmaster.cfg echo 'WORKING_USER = root' >> /etc/mfs/mfsmaster.cfg echo 'WORKING_GROUP = root' >> /etc/mfs/mfsmaster.cfg touch /var/lib/mfs/metadata.mfs echo '192.168.42.0/24 / rw,alldirs,maproot=0' >> /etc/mfs/mfsexports.cfg echo 'LIZARDFSMASTER_ENABLE=true' >> /etc/default/lizardfs-master systemctl enable lizardfs-master ###################### metalogger SERVER ############# apt-get install lizardfs-metalogger cd /etc mv lizardfs mfs; ln -s mfs lizardfs cd /var/lib/ mv lizardfs mfs; ln -s mfs lizardfs ###################### SERVER ############# -------------- update firmware usb <-> sata bridge # cd /tmp scp dth@filer5:/export/software/linux/odroid/hc2/jms578fwupdater.tgz . tar xf jms578fwupdater.tgz cd JMS578FwUpdater/ # Show version information of bridge chip firmware ./JMS578FwUpdate -d /dev/sda -v disable spin down /tmp/JMS578FwUpdater# ./JMS578FwUpdate -d /dev/sda -f ./JMS578_Hardkernel_v173.01.00.01.bin -b ./backup.bin -t 0 Update Firmware file name: ./JMS578_Hardkernel_v173.01.00.01.bin Backup Firmware file name: ./backup.bin Auto spin-down timer: 0 min. Backup the ROM code sucessfully. Programming & Compare Success!! ---------------------- ------------------- script to automate making servers: https://gist.github.com/badri/299a536b7291a7bc1c09 --------------------------------------------- source: https://marc.wäckerlin.ch/computer/evaluation-of-distributed-filesystems-for-docker-swarm#Setup LizardFS Following the instructions, I install: universum: master, chunkserver urknall: chunkserver, metalogger pulsar: chunkserver, metalogger raum: chunkserver, cgi-server Master Setup sudo apt-get install lizardfs-master sudo cp /usr/share/doc/lizardfs-master/examples/* /etc/lizardfs echo "192.168.99.0/24 / rw,alldirs,maproot=0" | sudo tee -a /etc/lizardfs/mfsexports.cfg sudo cp /var/lib/lizardfs/metadata.mfs.empty /var/lib/lizardfs/metadata.mfs sudo systemctl enable lizardfs-master sudo systemctl start lizardfs-master Shadow Master MASTER=universum echo "PERSONALITY = shadow" | sudo tee -a mfsmaster.cfg echo "MASTER_HOST = $MASTER" | sudo tee -a mfsmaster.cfg Chunkserver Setup MASTER=universum sudo apt-get install lizardfs-chunkserver sudo mkdir /var/lib/lizardfs/chunk sudo chown lizardfs.lizardfs /var/lib/lizardfs/chunk echo "/var/lib/lizardfs/chunk" | sudo tee /etc/lizardfs/mfshdd.cfg echo "MASTER_HOST = $MASTER" | sudo tee /etc/lizardfs/mfschunkserver.cfg sudo systemctl enable lizardfs-chunkserver sudo systemctl start lizardfs-chunkserver Metalogger Setup MASTER=universum sudo apt-get install lizardfs-metalogger echo "MASTER_HOST = $MASTER" | sudo tee /etc/lizardfs/mfsmetalogger.cfg sudo systemctl enable lizardfs-metalogger sudo systemctl start lizardfs-metalogger CGI Server MASTER=universum sudo apt-get install lizardfs-cgiserv Administration sudo apt-get install lizardfs-adm man lizardfs-admin Client MASTER=universum sudo apt-get install lizardfs-client sudo mkdir /var/lizardfs sudo mfsmount -H $MASTER /var/lizardfs Add mount command to /etc/fstab: echo "mfsmount /var/lizardfs fuse rw,mfsmaster=$MASTER,mfsdelayedinit 0 0" | sudo tee -a /etc/fstab Tests Finished after about 1 day: Copy data from glusterfs (from local filesystem): sudo rsync -avP /var/gluster/volumes/ /var/lizardfs/ Problems I had several problems, but at least got good feedback from the community: lizardfs becomes slow, unstable when growing and with replication Snapshot Usage Consideration temporary metadata file exists Trash Does Not Cleanup So I ended up with the following configuration: Master server configuration in file /etc/mfs/mfsmaster.cfg: LOAD_FACTOR_PENALTY = 0.5 ENDANGERED_CHUNKS_PRIORITY = 0.6 REJECT_OLD_CLIENTS = 1 CHUNKS_WRITE_REP_LIMIT = 20 CHUNKS_READ_REP_LIMIT = 100 Chunk server configuration in file /etc/mfs/mfschunkserver.cfg: MASTER_HOST = universum HDD_TEST_FREQ = 3600 ENABLE_LOAD_FACTOR = 1 NR_OF_NETWORK_WORKERS = 10 NR_OF_HDD_WORKERS_PER_NETWORK_WORKER = 4 PERFORM_FSYNC = 0