history jose@avtp239:~$ ssh root@192.168.1.76 root@192.168.1.76's password: Linux nas 5.4.78-2-pve #1 SMP PVE 5.4.78-2 (Thu, 03 Dec 2020 14:26:17 +0100) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Dec 9 20:20:33 2020 from 192.168.1.86 root@nas:~# apt-get install sdparm Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: sdparm 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 131 kB of archives. After this operation, 427 kB of additional disk space will be used. Get:1 http://ftp.caliu.cat/debian buster/main amd64 sdparm amd64 1.10-1 [131 kB] Fetched 131 kB in 0s (385 kB/s) Selecting previously unselected package sdparm. (Reading database ... 74895 files and directories currently installed.) Preparing to unpack .../sdparm_1.10-1_amd64.deb ... Unpacking sdparm (1.10-1) ... Setting up sdparm (1.10-1) ... Processing triggers for man-db (2.8.5-2) ... root@nas:~# sdparm /dev/sda /dev/sda: ATA ST8000DM004-2CX1 0001 Read write error recovery mode page: AWRE 1 [cha: n, def: 1] ARRE 0 [cha: n, def: 0] PER 0 [cha: n, def: 0] Caching (SBC) mode page: IC 0 [cha: n, def: 0] WCE 0 [cha: y, def: 0] RCD 0 [cha: n, def: 0] Control mode page: TST 0 [cha: n, def: 0] SWP 0 [cha: n, def: 0] root@nas:~# apt-get install smartctl Reading package lists... Done Building dependency tree Reading state information... Done Package smartctl is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'smartctl' has no installation candidate root@nas:~# apt-get install smartmontools Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: gsmartcontrol smart-notifier The following NEW packages will be installed: smartmontools 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 539 kB of archives. After this operation, 2,077 kB of additional disk space will be used. Get:1 http://download.proxmox.com/debian/pve buster/pve-no-subscription amd64 smartmontools amd64 7.1-pve2 [539 kB] Fetched 539 kB in 1s (611 kB/s) Selecting previously unselected package smartmontools. (Reading database ... 74908 files and directories currently installed.) Preparing to unpack .../smartmontools_7.1-pve2_amd64.deb ... Unpacking smartmontools (7.1-pve2) ... Setting up smartmontools (7.1-pve2) ... Created symlink /etc/systemd/system/smartd.service → /lib/systemd/system/smartmontools.service. Created symlink /etc/systemd/system/multi-user.target.wants/smartmontools.service → /lib/systemd/system/smartmontools.service. Processing triggers for man-db (2.8.5-2) ... Processing triggers for systemd (241-7~deb10u5) ... root@nas:~# smartctltop -bash: smartctltop: command not found root@nas:~# top top - 20:27:47 up 27 min, 1 user, load average: 5.50, 5.40, 3.03 Tasks: 230 total, 1 running, 229 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 1.2 sy, 0.0 ni, 21.8 id, 76.5 wa, 0.0 hi, 0.2 si, 0.0 st MiB Mem : 15964.2 total, 6414.7 free, 8866.3 used, 683.1 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 6422.2 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 783 root 1 -19 0 0 0 D 1.0 0.0 0:11.80 z_wr_iss 138 root 0 -20 0 0 0 I 0.7 0.0 0:05.61 kworker/0:1H-kblockd 33540 root 20 0 975916 209440 740 D 0.7 1.3 0:03.20 fio 791 root 0 -20 0 0 0 S 0.3 0.0 0:00.51 z_wr_int 792 root 0 -20 0 0 0 S 0.3 0.0 0:00.50 z_wr_int 35672 root 20 0 13832 2868 2136 R 0.3 0.0 0:00.03 top 1 root 20 0 23672 8184 5152 S 0.0 0.1 0:04.70 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.25 kthreadd 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp 5 root 20 0 0 0 0 I 0.0 0.0 0:00.15 kworker/0:0-events 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-kblockd 8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq 9 root 20 0 0 0 0 S 0.0 0.0 0:00.10 ksoftirqd/0 10 root 20 0 0 0 0 I 0.0 0.0 0:00.33 rcu_sched 11 root rt 0 0 0 0 S 0.0 0.0 0:00.02 migration/0 12 root -51 0 0 0 0 S 0.0 0.0 0:00.00 idle_inject/0 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0 15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1 16 root -51 0 0 0 0 S 0.0 0.0 0:00.00 idle_inject/1 17 root rt 0 0 0 0 S 0.0 0.0 0:00.19 migration/1 18 root 20 0 0 0 0 S 0.0 0.0 0:00.08 ksoftirqd/1 20 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/1:0H-kblockd 21 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs 22 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns 23 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_kthre 24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd 28 root 20 0 0 0 0 S 0.0 0.0 0:00.06 khungtaskd 29 root 20 0 0 0 0 S 0.0 0.0 0:00.00 oom_reaper 30 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 writeback 31 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kcompactd0 32 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd 33 root 39 19 0 0 0 S 0.0 0.0 0:00.00 khugepaged 79 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kintegrityd 80 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kblockd 81 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 blkcg_punt_bio 82 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 tpm_dev_wq 83 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 ata_sff 84 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 md 85 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 edac-poller root@nas:~# ps -ef | grep fio root 33540 1 0 20:19 ? 00:00:03 fio --size=16G --name=create --filename=fio_file --bs=1M --nrfiles=1 --direct=0 --sync=0 --randrepeat=0 --rw=write --refill_buffers --end_fsync=1 --iodepth=200 --ioengine=libaio --fallocate=none root 35674 34377 0 20:27 pts/3 00:00:00 grep fio root@nas:~# ps -ef | grep fio root 33540 1 0 20:19 ? 00:00:03 fio --size=16G --name=create --filename=fio_file --bs=1M --nrfiles=1 --direct=0 --sync=0 --randrepeat=0 --rw=write --refill_buffers --end_fsync=1 --iodepth=200 --ioengine=libaio --fallocate=none root 35676 34377 0 20:28 pts/3 00:00:00 grep fio root@nas:~# kill -9 33540 root@nas:~# ps -ef | grep fio root 35703 34377 0 20:28 pts/3 00:00:00 grep fio root@nas:~# smartctl ^C root@nas:~# sdparm --set=WCE --save /dev/sda /dev/sda: ATA ST8000DM004-2CX1 0001 change_mode_page: mode page indicates it is not savable but '--save' option given (try without it) root@nas:~# sdparm /dev/sda /dev/sda: ATA ST8000DM004-2CX1 0001 Read write error recovery mode page: AWRE 1 [cha: n, def: 1] ARRE 0 [cha: n, def: 0] PER 0 [cha: n, def: 0] Caching (SBC) mode page: IC 0 [cha: n, def: 0] WCE 0 [cha: y, def: 0] RCD 0 [cha: n, def: 0] Control mode page: TST 0 [cha: n, def: 0] SWP 0 [cha: n, def: 0] root@nas:~# sdparm --set=WCE /dev/sda /dev/sda: ATA ST8000DM004-2CX1 0001 root@nas:~# sdparm /dev/sda /dev/sda: ATA ST8000DM004-2CX1 0001 Read write error recovery mode page: AWRE 1 [cha: n, def: 1] ARRE 0 [cha: n, def: 0] PER 0 [cha: n, def: 0] Caching (SBC) mode page: IC 0 [cha: n, def: 0] WCE 1 [cha: y, def: 1] RCD 0 [cha: n, def: 0] Control mode page: TST 0 [cha: n, def: 0] SWP 0 [cha: n, def: 0] root@nas:~# sdparm --set=WCE /dev/sdb /dev/sdb: ATA ST8000DM004-2CX1 0001 root@nas:~# sdparm --set=WCE /dev/sdc /dev/sdc: ATA ST8000DM004-2CX1 0001 ^[[Aroot@nas:~# sdparm --set=WCE /dev/sdd /dev/sdd: ATA ST8000DM004-2CX1 0001 root@nas:~# sdparm /dev/sde /dev/sde: ATA KINGSTON SA400S3 0004 Read write error recovery mode page: AWRE 1 [cha: n, def: 1] ARRE 0 [cha: n, def: 0] PER 0 [cha: n, def: 0] Caching (SBC) mode page: IC 0 [cha: n, def: 0] WCE 0 [cha: y, def: 0] RCD 0 [cha: n, def: 0] Control mode page: TST 0 [cha: n, def: 0] SWP 0 [cha: n, def: 0] root@nas:~# sdparm --set=WCE /dev/sde /dev/sde: ATA KINGSTON SA400S3 0004 root@nas:~# reboot Connection to 192.168.1.76 closed by remote host. Connection to 192.168.1.76 closed. jose@avtp239:~$ ssh root@192.168.1.76 root@192.168.1.76's password: Linux nas 5.4.78-2-pve #1 SMP PVE 5.4.78-2 (Thu, 03 Dec 2020 14:26:17 +0100) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Dec 9 20:21:55 2020 from 192.168.1.86 root@nas:~# root@nas:~# root@nas:~# root@nas:~# sdparm one or more device names required Usage: sdparm [--all] [--dbd] [--flexible] [--get=STR] [--hex] [--long] [--num-desc] [--page=PG[,SPG]] [--quiet] [--readonly] [--six] [--transport=TN] [--vendor=VN] [--verbose] DEVICE [DEVICE...] sdparm [--clear=STR] [--defaults] [--dummy] [--flexible] [--page=PG[,SPG]] [--quiet] [--readonly] [--save] [--set=STR] [--six] [--transport=TN] [--vendor=VN] [--verbose] DEVICE [DEVICE...] where mode page read (1st usage) and change (2nd usage) options are: --all | -a list all known fields for given DEVICE --clear=STR | -c STR clear (zero) field value(s) --dbd | -B set DBD bit in mode sense cdb --defaults | -D set a mode page to its default values --dummy | -d don't write back modified mode page --flexible | -f compensate for common errors, relax some checks --get=STR | -g STR get (fetch) field value(s) --hex | -H output in hex rather than name/value pairs --long | -l add description to field output --num-desc | -n report number of mode page descriptors --page=PG[,SPG] | -p PG[,SPG] page (and optionally subpage) number [or abbrev] to output, change or enumerate --quiet | -q suppress DEVICE vendor/product/revision string line --readonly | -r force read-only open of DEVICE (def: depends on operation). Mainly for ATA disks --save | -S place mode changes in saved page as well --set=STR | -s STR set field value(s) --six | -6 use 6 byte SCSI mode cdbs (def: 10 byte) --transport=TN | -t TN transport protocol number [or abbrev] --vendor=VN | -M VN vendor (manufacturer) number [or abbrev] --verbose | -v increase verbosity View or change SCSI mode page fields (e.g. of a disk or CD/DVD drive). STR can be [=val] or ::[=val]. Use '-h' or '--help' twice for help on other usages including executing some simple commands, reading and decoding VPD pages, enumerating internal tables of mode and VPD pages, and decoding response data supplied in a file or stdin (rather than from a DEVICE). root@nas:~# sdparm /dev/sda /dev/sda: ATA ST8000DM004-2CX1 0001 Read write error recovery mode page: AWRE 1 [cha: n, def: 1] ARRE 0 [cha: n, def: 0] PER 0 [cha: n, def: 0] Caching (SBC) mode page: IC 0 [cha: n, def: 0] WCE 0 [cha: y, def: 0] RCD 0 [cha: n, def: 0] Control mode page: TST 0 [cha: n, def: 0] SWP 0 [cha: n, def: 0] root@nas:~# ls chroot.sh deploy.sh deploy.sh.old prova.sh test.sh root@nas:~# cd (failed reverse-i-search)`fip': ps -ef | grep ^Co (reverse-i-search)`fio': ps -ef | grep ^Co root@nas:~# history 6 ls -al /target 7 mkdir /target/mnt /target/dev /target/sys /target/proc 8 ls -al /target 9 rm -rf /target/* 10 ls -al /target 11 history | less 12 nano deploy.sh 13 history | less 14 cat /etc/hosts 15 cat /etc/fstab 16 history | less 17 nano deploy.sh 18 nano /etc/systemd/system/zfs-import-bpool.service 19 ls -al /etc/network/interfaces 20 cat /etc/network/interfaces 21 ip link 22 ip link | grep "state UP" 23 ip link | grep "state UP" | cut -d ':' -f 2 24 ip link | grep "state UP" | cut -d ':' -f 2| tr -d ' ' 25 ip a 26 ip a | grep "scope global" | cut -d ' ' -f 6 27 ip a | grep "scope global" | cut -d ' ' -f 1 28 ip a | grep "scope global" | cut -d ' ' -f 2 29 ip a | grep "scope global" | cut -d ' ' -f 11 30 zpool status 31 zpool destroy rpool bpool 32 zpool destroy rpool 33 zpool destroy bpool 34 nano deploy.sh 35 ./deploy.sh 36 ls -al /target 37 ls -al /target/boot 38 ls /sys/class/net 39 ls -l /sys/class/net 40 history 41 ip a | grep "scope global" | cut -d ' ' -f 11 42 ip a eno1 43 ip a dev eno1 44 ip a help 45 ip a show dev eno1 46 ip a show dev eno1 | grep "inet " 47 for iface in $(ls -1 /sys/class/net); do ip a show dev iface | grep "inet ";done 48 for iface in $(ls -1 /sys/class/net); do ip a show dev $iface | grep "inet ";done 49 for iface in $(ls -1 /sys/class/net); do ip a show dev $iface | grep "scope global";done 50 nano deploy.sh 51 history 52 nano deploy.sh 53 for iface in $(ls -1 /sys/class/net); do ip a show dev $iface | grep "scope global";done|head -n 1 54 for iface in $(ls -1 /sys/class/net); do if [ -n $(ip a show dev $iface | grep "scope global) ] then IFACE=$iface; exit;fi ;done; echo $IFACE 55 for iface in $(ls -1 /sys/class/net); do if [ -n $(ip a show dev $iface | grep "scope global") ] then IFACE=$iface; exit;fi ;done; echo $IFACE 56 for iface in $(ls -1 /sys/class/net); do if [ -n $(ip a show dev $iface | grep "scope global") ]; then IFACE=$iface; exit;fi ;done; echo $IFACE 57 for iface in $(ls -1 /sys/class/net); do if [ -n $(ip a show dev $iface | grep "scope global") ]; then IFACE=$iface;fi ;done; echo $IFACE 58 for iface in $(ls -1 /sys/class/net); do if [ -n $(ip a show dev $iface | grep "scope global") ]; then IFACE=$iface;echo $IFACE ;fi ;done 59 for iface in $(ls -1 /sys/class/net); do ip a show dev $iface | grep "scope global" IFACE=$iface;echo $IFACE ;fi ;done 60 for iface in $(ls -1 /sys/class/net); do ip a show dev $iface | grep "scope global"; IFACE=$iface;echo $IFACE ;fi ;done 61 for iface in $(ls -1 /sys/class/net); do ip a show dev $iface | grep "scope global"; IFACE=$iface;echo $IFACE ;done 62 for iface in $(ls -1 /sys/class/net); do ip a show dev $iface | grep ' scope global '; IFACE=$iface;echo $IFACE ;done 63 for iface in $(ls -1 /sys/class/net); do if [ -n "$(ip a show dev $iface | grep ' scope global ')" ];then IFACE=$iface;echo $IFACE ;fi ;done 64 for iface in $(ls -1 /sys/class/net); do if [ -n "$(ip a show dev $iface | grep ' scope global ')" ];then IFACE=$iface; exit; fi ;done 65 nano prova.sh 66 ./prova.sh 67 nano prova.sh 68 ./prova.sh 69 cat prova.sh 70 nano deploy.sh 71 nano prova.sh 72 ./prova.sh 73 ls -al /target/etc/network/interfaces.d/eno1 74 cat /target/etc/network/interfaces.d/eno1 75 nano deploy.sh 76 nano prova.sh 77 ./prova.sh 78 cat /target/etc/network/interfaces.d/eno1 79 ./prova.sh 80 nano prova.sh 81 nano /target/root/chroot.sh 82 nano deploy.sh 83 nano /target/root/chroot.sh 84 ./prova.sh 85 whereis bash 86 nano prova.sh 87 umount -l /target/dev 88 umount -l /target/sys 89 umount -l /target/proc 90 mount 91 ./prova.sh 92 ls 93 exit 94 ls 95 zpool status 96 zpool import 97 nano deploys.sh 98 nano deploy.sh 99 nano prova.sh 100 nano prova.sh 101 nano deploy.sh 102 nano prova.sh 103 ls 104 ./deploy.sh 105 zpool destroy bpool 106 zpool destroy rpool 107 zpool status 108 nano deploy.sh 109 ./deploy.sh 110 nano deploy.sh 111 cat .prova.sh 112 cat prova.sh 113 nano prova.sh 114 nano deploy.sh 115 nano prova.sh 116 lsblk -o UUID 117 lsblk -o WWN 118 declare -a BOOTSSD;BOOTSSD+="0x50026b7682efdcf4";echo ${BOOTSSD[@]} 119 declare -a BOOTSSD;BOOTSSD+="0x50026b7682efdcf4";BOOTSSD+="0x50026b7682efdcf4";echo ${BOOTSSD[@]} 120 unset BOOTSSD 121 declare -a BOOTSSD;BOOTSSD+="0x50026b7682efdcf4";BOOTSSD+="0x50026b7682efdcf4";echo ${BOOTSSD[@]} 122 nano prova.sh 123 tftp 124 ping 1.1.1.1 125 ls -al 126 cat prova.sh 127 nano deploy.sh 128 cat /target/etc/default/grub 129 sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/pve"/g' /target/default/grub 130 sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/pve"/g' /target/etc/default/grub 131 sed 's#GRUB_CMDLINE_LINUX=""#GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/pve"#' /target/etc/default/grub 132 sed 's#GRUB_CMDLINE_LINUX=""#GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/pve"#' /target/etc/default/grub 133 sed 's#_LINUX_DEFAULT="quiet"#_LINUX_DEFAUTL=""#' /target/etc/default/grub 134 sed 's#_LINUX_DEFAULT="quiet"#_LINUX_DEFAULT=""#' /target/etc/default/grub 135 sed -i 's#GRUB_CMDLINE_LINUX=""#GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/pve"#' /target/etc/default/grub 136 sed -i 's#_LINUX_DEFAULT="quiet"#_LINUX_DEFAULT=""#' /target/etc/default/grub 137 cat /target/etc/default/grub 138 history 139 nano deploy.sh 140 mount 141 zpool destror rpool 142 zpool destroy bpool 143 zpool destroy rpool 144 ./deploy.sh 145 ls -al 146 molunt 147 mount 148 umount -l /target/dev 149 umount -l /target/proc 150 umount -l /target/sys 151 ls -al /target/root 152 cat /target/root/chroot.sh 153 mount --rbind /dev /target/dev 154 mount --rbind /sys /target/sys 155 mount --rbind /proc /target/proc 156 chroot /bin/bash /root/chroot.sh --login 157 chroot /bin/bash /root/chroot.sh 158 cat deploy.sh 159 chroot /target /bin/bash /root/chroot.sh --login 160 zfs list -t snapshots 161 zfs list -t snapshot 162 exit 163 zpool status 164 reboot 165 nano deploy.sh 166 cat /etc/default/grub 167 ./deploy.sh 168 mount 169 reboot 170 nano deploy.sh 171 zpool status 172 ./deploy.sh 173 zpool status 174 mount -o bind /dev /target/dev 175 mount -o bind /sys /target/sys 176 mount -o bind /proc /target/proc 177 chroot /target /bin/bash --login 178 umount -l /target/dev 179 umount -l /target/sys 180 umount -l /target/proc 181 zpool status 182 zfs list -t snapshot 183 zfs list 184 ls -al /target/boot 185 zpool export -a 186 df -h 187 mount 188 history 189 reboot 190 nano deploy.sh 191 zpool status 192 ./deploy.sh 193 zpool status 194 echo $HOST 195 echo $HOSTNAME 196 nano deploy.sh 197 ./deploy.sh 198 zpool status 199 nano deploy.sh 200 ./deploy.sh 201 reboot 202 history |less 203 nano deploy.sh 204 nano prova.sh 205 ./prova.sh 206 ./prova.sh pve 207 cat prova.sh 208 nano prova.sh 209 ./prova.sh 210 echo "$NAME" 211 echo "$NAME"; NAME="{$NAME:-pve}"; echo "$NAME" 212 echo "$NAME"; NAME={$NAME:-pve}; echo "$NAME" 213 unset NAME 214 echo "$NAME"; NAME={$NAME:-pve}; echo "$NAME" 215 echo "$NAME"; NAME="{NAME:-pve}"; echo "$NAME" 216 read -p "Enter your gender (just press ENTER to not tell us): " GENDER;echo "Your gender is ${GENDER:-a secret}." 217 nano prova.sh 218 ./prova.sh 219 ./prova.sh pepep 220 ./prova.sh pep selga 221 cat prova.sh 222 nano deploy.sh 223 ./deploy.sh 224 zpool status 225 zpool export -a 226 zpool status 227 reboot 228 reboot 229 zpool status 230 cp deploy.sh deploy.sh.old 231 nano deploy.sh 232 sgdisk --help 233 sgdisk -L 234 fdisk /dev/sda 235 sgdisk -L | grep -i RAID 236 sgdisk -L | grep -i Linux 237 nano deploy.sh 238 blkid | grep "{BOOTSSD[0]}-part3 239 blkid | grep "{BOOTSSD[0]}-part3" 240 blkid | grep "-part3" 241 blkid 242 blkid /dev/sda3 243 nano deploy.sh 244 zpool status 245 ./deploy.sh 246 nano deploy.sh 247 ./deploy.sh 248 nano deploy.sh 249 ./deploy.sh 250 blkid 251 lsblk -o NAME,FSTYPE,UUID 252 nano deploy.sh 253 ./deploy.sh 254 zpool status 255 export -a 256 zpool status 257 umount /target/boot 258 zpool status 259 export -a 260 zpool status 261 mount 262 zpool destroy rpool 263 mount 264 zpool status 265 ./deploy.sh 266 blkid 267 blkid /dev/sda3 | cut -d '"' -f 2 268 cat /target/fstab 269 cat /target/etc/fstab 270 umount /target/boot 271 zpool destroy rpool 272 nano deploy.sh 273 ./deploy.sh 274 reboot 275 nano deploy.sh 276 zpool status 277 ./deploy.sh 278 zpool status 279 zpool status 280 mount 281 zpool destroy rpool 282 df -h 283 nano deploy.sh 284 ./deploy.sh 285 zpool status 286 lsblk 287 sgdisk -p /dev/sda 288 reboot 289 zpool status 290 df -h 291 ls -al /tmp 292 nano deploy.sh 293 ls /tmp 294 nano deploy.sh 295 ./deploy.sh 296 zpoll status 297 zpool status 298 nano deploy.sh 299 ./deploy.sh 300 nano deploy.sh 301 nano deploy.sh 302 zpool status 303 nano deploy.sh 304 ./deploy.sh 305 zpool status 306 reboot 307 ip a 308 ip a 309 uname -a 310 ls -al /etc/apt/sources.list.d/ 311 sed -i 's/stretch/buster/g' /etc/apt/sources.list 312 sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/* 313 apt updatew 314 apt update 315 nano /etc/apt/sources.list.d/pve-install-repo.list 316 wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg 317 apt update 318 apt full-upgrade 319 apt upgrade 320 cat /etc/os-release 321 ls -al /boot 322 ls -al /boot/grub 323 dpkg -l | grep kernel 324 apt dist-upgrade 325 apt install pve-kernel 326 apt search pve-kernel 327 apt install pve-kernel-5.4 328 dpkg -l | grep zfs 329 apt install pve-headers-5.4 330 dpkg -l | grep firmware 331 apt search pve-firmware 332 systemctl reboot 333 uname -a 334 ls -al /boot 335 ls -al / 336 rm /vmlinuz.old 337 rm /initrd.img.old 338 mv /vmlinuz /vmlinuz.o 339 mv /initrd.img /initrd.img.old 340 ls -al / 341 cd .. 342 ln -s boot/vmlinuz-5.4.65-1-pve vmlinuz 343 ln -s boot/initrd.img-5.4.65-1-pve initrd.img 344 ls -al 345 systemctl reboot 346 uname -a 347 apt install dosfstools 348 apt install screen 349 apt autoremove 350 apt autoclean 351 ls -al / 352 ls /boot 353 ls /boot/ 354 ls -al /boot/ 355 ls -al /boot/pve 356 systemctl reboot 357 uname -a 358 history | grep "tar " 359 history 360 systemctl poweroff 361 cd 362 ls 363 cat chroot.sh 364 ./chroot.sh 365 zpool status 366 zfs list 367 zfs list -t snapshot 368 cd /tmp/ 369 ls 370 cd /root/ 371 l 372 ld 373 ls 374 ls -l 375 cat deploy.sh 376 vi deploy.sh 377 ls -al /dev/disk/by-id/ 378 wipefs -a -f /dev/sda 379 wipefs -a -f /dev/sdb 380 wipefs -a -f /dev/sdc 381 wipefs -a -f /dev/sdd 382 ls -al /dev/disk/by-id/ 383 partprobe 384 mdadm --detail 385 cat /proc/mdstat 386 history 387 mdadm --help 388 mdadm --stop /dev/md0 389 cat /proc/mdstat 390 mdadm --zero-superblock /dev/sda 391 cat /proc/mdstat 392 partprobe 393 mdadm --zero-superblock /dev/sdb 394 vim deploy.sh 395 vi deploy.sh 396 sgdisk --zap-all /dev/sdb1 397 sgdisk --zap-all /dev/sdb 398 partprobe 399 mount| grep sdb 400 mdadm --zero-superblock /dev/sdb 401 mdadm --zero-superblock /dev/sdb1 402 wipefs -a -f /dev/sdb 403 wipefs -a -f /dev/sdb1 404 partprobe 405 systemctl reboot 406 ip a s 407 lsblk 408 lsblk -d -o name,wwn 409 ls -la /dev/disk/by-id/ 410 partprobe 411 cat /proc/mdstat 412 swapon -s 413 lsblk 414 lsblk -d 415 lsblk -d -o name,rota 416 vi deploy.sh 417 #zpool create -o ashift=12 \ 418 -O acltype=posixacl -O canmount=off -O compression=lz4 -O dnodesize=auto -O normalization=formD -O relatime=on -O xattr=sa -O mountpoint=/ -R /target rpool ${BOOTSSD[0]}-part5 419 #zpool create -o ashift=12 -O acltype=posixacl -O canmount=off -O compression=lz4 -O dnodesize=auto -O normalization=formD -O relatime=on -O xattr=sa -O mountpoint=/ -R /target rpool ${BOOTSSD[0]}-part5 420 zpool create -o ashift=12 -O acltype=posixacl -O compression=lz4 -O relatime=on -O xattr=sa dades raidz1 wwn-0x5000c500c520c2f7 wwn-0x5000c500cf855885 wwn-0x5000c500cf875876 wwn-0x5000c500cf8fda13 421 zpool status 422 df -h 423 cd /dades/ 424 ls -la 425 df -h . 426 cd 427 zfs create dades/prova 428 zfs list 429 apt-get update 430 apt dist-upgrade 431 apt-get update 432 apt-get autoremove 433 apt-get install nfs-kernel-server 434 vim /etc/exports 435 apt-get install vim 436 vim /etc/exports 437 zfs get all 438 zfs get all| grep compress 439 zfs set sharenfs=no_subtree_check,no_root_squash,async,rw=@192.168.1.0/24 dades 440 vim /etc/modprobe.d/zfs.conf 441 sysctl vm.swappiness 442 vim /etc/sysctl.conf 443 arc_summary | more 444 reboot 445 arc_summary | more 446 history 447 vim /etc/modprobe.d/zfs.conf 448 sysctl vm.swappiness 449 ((12*1024*1024*1024)) 450 echo ((12*1024*1024*1024)) 451 vim /etc/modprobe.d/zfs.conf 452 lsmod 453 lsmod | grep nfs 454 lsmod | grep zfs 455 lsmod | grep arc 456 arc_summary 457 arc_summary | more 458 free -m 459 vim /etc/modprobe.d/mdadm.conf 460 rm /etc/modprobe.d/mdadm.conf 461 apt-get remove --purge mdadm 462 touch /dades/prova/jur 463 vim /etc/initramfs-tools/conf.d/resume 464 update-initramfs -k all -u 465 ls -l /etc/network/interfaces 466 cat /etc/network/interfaces 467 apt-get install fio 468 cd /dades/prova/ 469 fio --size=16G --name=create --filename=fio_file --bs=1M --nrfiles=1 --direct=1 --sync=0 --randrepeat=0 --rw=write --refill_buffers --end_fsync=1 --iodepth=200 --ioengine=libaio --fallocate=none 470 df -h 471 ls -l /dev/disk/by-id/ 472 blkid /dev/disk/by-id/wwn-0x502b2a201d1c1b1a-part3 473 vi test.sh 474 cat test.sh 475 cd /dades/ 476 fio --size=16G --name=create --filename=fio_file --bs=1M --nrfiles=1 --direct=0 --sync=0 --randrepeat=0 --rw=write --refill_buffers --end_fsync=1 --iodepth=200 --ioengine=libaio --fallocate=none 477 cd / 478 ls 479 df -h . 480 fio --size=16G --name=create --filename=fio_file --bs=1M --nrfiles=1 --direct=0 --sync=0 --randrepeat=0 --rw=write --refill_buffers --end_fsync=1 --iodepth=200 --ioengine=libaio --fallocate=none 481 apt-get install sdparm 482 sdparm /dev/sda 483 apt-get install smartctl 484 apt-get install smartmontools 485 smartctltop 486 top 487 ps -ef | grep fio 488 ps -ef | grep fio 489 kill -9 33540 490 ps -ef | grep fio 491 sdparm --set=WCE --save /dev/sda 492 sdparm /dev/sda 493 sdparm --set=WCE /dev/sda 494 sdparm /dev/sda 495 sdparm --set=WCE /dev/sdb 496 sdparm --set=WCE /dev/sdc 497 sdparm --set=WCE /dev/sdd 498 sdparm /dev/sde 499 sdparm --set=WCE /dev/sde 500 reboot 501 sdparm 502 sdparm /dev/sda 503 ls 504 cd 505 history root@nas:~# fio --size=16G --name=create --filename=fio_file --bs=1M --nrfiles=1 --direct=0 --sync=0 --randrepeat=0 --rw=write --refill_buffers --end_fsync=1 --iodepth=200 --ioengine=libaio --fallocate=none create: (g=0): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=200 fio-3.12 Starting 1 process create: Laying out IO file (1 file / 16384MiB) Connection to 192.168.1.76 closed by remote host.PS][eta 00m:47s] Connection to 192.168.1.76 closed. root@nas:~# sdparm /dev/sda /dev/sda: ATA ST8000DM004-2CX1 0001 Read write error recovery mode page: AWRE 1 [cha: n, def: 1] ARRE 0 [cha: n, def: 0] PER 0 [cha: n, def: 0] Caching (SBC) mode page: IC 0 [cha: n, def: 0] WCE 0 [cha: y, def: 0] RCD 0 [cha: n, def: 0] Control mode page: TST 0 [cha: n, def: 0] SWP 0 [cha: n, def: 0] En el conf para poner la memoria a 12gbs sense cache12*1024*1024*1024: options zfs zfs_arc_max=12884901888 zfs_prefetch_disable=1 Lo cambia al reiniciar root@nas:~# arc_summary | grep "Target size " Target size (adaptive): 100.0 % 12.0 GiB No faci swap si està apurat: sysctl vm.swappiness vm.swappiness = 80 Añadir al final /etc/sysctl.conf: vm.swappiness=10 Lo cambia al reiniciar root@nas:~# sysctl vm.swappiness vm.swappiness = 10 No se que es # cat /etc/initramfs-tools/conf.d/resume RESUME=UUID=d896c0fc-3a4f-48c6-8a52-0b93acdb4677 root@nas:~# cat /etc/modprobe.d/zfs.conf options zfs zfs_arc_max=12884901888 zfs_prefetch_disable=1 fio haria d'anar a 200MiB/s IOPS. Habilitar HCI fio --size=16G --name=create --filename=fio_file --bs=1M --nrfiles=1 --direct=1 --sync=0 --randrepeat=0 --rw=write --refill_buffers --end_fsync=1 --iodepth=200 --ioengine=libaio --fallocate=none #!/bin/bash NAME="$1"; shift IFACE="$1"; shift NAME="${NAME:-pve}" IFACE="${IFACE:-eno1}" declare -a BOOTSSD declare -a FSTAB echo "Setting ZFS root on $NAME" #get WWN for a /dev/sdX disk device get_wwn () { ls -l /dev/disk/by-id/wwn-* | grep -v "part" | grep $1 | cut -d "-" -f 3|tr -d ' ' } #find up to 2 smallest non-rotational disks of same size find_boot_drives () { local BOOTSSD1='' local BOOTSSD2='' eval "$(lsblk -dn -o NAME,SIZE,TYPE,ROTA -x SIZE | sort| awk 'BEGIN { i = 0 } /disk/ { if ($4 < 1) {i=i+1; if (i == 1) {size=$2;print "BOOTSSD1="$1} ; if (i == 2) {if (size == $2) print "BOOTSSD2="$1}}}')" if [ -n "$BOOTSSD1" ]; then BOOTSSD[0]="wwn-$(get_wwn $BOOTSSD1)" fi if [ -n "$BOOTSSD2" ]; then BOOTSSD[1]="wwn-$(get_wwn $BOOTSSD2)" fi } #wipe existing filessystems in each one partition wipe_disk () { for p in $(ls -1 /dev/disk/by-id/$1* | grep "part" |sort -r); do echo "...wiping partition $p" wipefs -a -f $p done echo "...wiping whole disk $1" wipefs -a -f /dev/disk/by-id/$1 } #create partitions create_partitions () { echo echo "Creating GPT partition table..." sgdisk --zap-all /dev/disk/by-id/$1 echo "Creating BIOS boot partition..." sgdisk -a1 -n1:24K:+1000K -t1:EF02 -c 1:"BIOS boot" /dev/disk/by-id/$1 #echo "Creating UEFI partition (unused, just in case).." #sgdisk -n2:1M:+512M -t2:EF00 -c 2:"EFI" /dev/disk/by-id/$1 if [ ${#BOOTSSD[@]} -gt 1 ]; then echo "Creating Linux RAID boot partition..." sgdisk -n2:0:+2048M -t2:fd00 -c 2:"boot" /dev/disk/by-id/$1 else echo "Creating Linux boot partition..." sgdisk -n2:0:+2048M -t2:8300 -c 2:"boot" /dev/disk/by-id/$1 fi echo "Creating minimal swap partition..." sgdisk -n3:0:+2G -t3:8200 -c 3:"swap" /dev/disk/by-id/$1 echo "Creating ZFS root pool partition ..." sgdisk -n4:0:0 -t4:BF01 -c 4:"rpool" /dev/disk/by-id/$1 echo "Showing partition changes done:" sgdisk -p /dev/disk/by-id/$1 partprobe } # format swap and prepare fstab mount by UUID format_swap () { local SWAP_PART="/dev/disk/by-id/$1-part3" partprobe sync sleep 2 mkswap "$SWAP_PART" SWAP_UUID=$(blkid $SWAP_PART | cut -d '"' -f 2) FSTAB[${#FSTAB[@]}]="UUID=$SWAP_UUID\tnone\t\tswap\t\tsw\t\t0\t0\n" } echo "Finding boot drives: up to two non-rotational disks same smallest size" find_boot_drives echo case ${#BOOTSSD[@]} in 0) echo "No boot drive found. Nothing to do." exit ;; 1) echo "Found ONE drive:" lsblk -dn -o NAME,SIZE,WWN /dev/disk/by-id/${BOOTSSD[0]} ;; 2) echo "Found TWO drives:" lsblk -dn -o NAME,SIZE,WWN /dev/disk/by-id/${BOOTSSD[0]} /dev/disk/by-id/${BOOTSSD[1]} ;; *) echo "Too many boot drives. Error" exit ;; esac for disk in ${BOOTSSD[@]}; do wipe_disk $disk create_partitions $disk format_swap $disk done partprobe sleep 2 sync #Create boot filesystem if [ ${#BOOTSSD[@]} -gt 1 ]; then echo "Creating mirror for /boot filesystem" BOOT_PART="/dev/md0" mdadm --create $BOOT_PART --level=1 --raid-devices=2 /dev/disk/by-id/${BOOTSSD[0]}-part2 /dev/disk/by-id/${BOOTSSD[1]}-part2 else BOOT_PART="/dev/disk/by-id/${BOOTSSD[0]}-part2" fi echo "Formatting boot partition with ext4 filesystem ..." mkfs.ext4 -F $BOOT_PART # Create zfs root pool rpool zpool create -o ashift=12 \ -O acltype=posixacl -O canmount=off -O compression=lz4 \ -O dnodesize=auto -O normalization=formD -O relatime=on -O xattr=sa \ -O mountpoint=/ -R /target \ rpool ${BOOTSSD[0]}-part4 # Add mirror partitions if there are two boot disks if [ ${#BOOTSSD[@]} -gt 1 ]; then zpool attach rpool ${BOOTSSD[0]}-part4 ${BOOTSSD[1]}-part4 fi zpool status #Create filesystem datasets for root zfs create -o canmount=off -o mountpoint=none rpool/ROOT zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/pve zfs mount rpool/ROOT/pve #Create datasets zfs create rpool/home zfs create -o mountpoint=/root rpool/home/root #Mount /boot on /target/boot mkdir /target/boot mount $BOOT_PART /target/boot #exit #Copy system twice, just in case echo "Copying base system..." #rsync -axHAXW --exclude=/proc --exclude=/dev --exclude=/sys --exclude=/target --exclude=/mnt / /target/ #echo "Copying base system...again!" #rsync -axHAXW --exclude=/proc --exclude=/dev --exclude=/sys --exclude=/target --exclude=/mnt / /target/ tar -zxf /tmp/buster.tar.gz --directory /target #Create excluded folders mkdir -p /target/mnt /target/dev /target/sys /target/proc /target/tmp /target/opt # zfs set devices=off rpool #Set hostname, default is pve. echo "$NAME" > /target/etc/hostname echo -e "127.0.1.1\t$NAME" >> /target/etc/hosts #Set /boot and swap in fstab BOOT_UUID=$(blkid $BOOT_PART | cut -d '"' -f 2) echo -e "UUID=$BOOT_UUID\t/boot\t\text4\t\tdefaults\t0\t0" > /target/etc/fstab for fstab in ${FSTAB[@]}; do echo -e $fstab >> /target/etc/fstab done #Get network interface name and set target network config for iface in $(ls -1 /sys/class/net); do if [ -n "$(ip a show dev $iface | grep ' scope global ')" ]; then IFACE=$iface break fi done echo -e "auto $IFACE\niface $IFACE inet dhcp\n" > /target/etc/network/interfaces.d/$IFACE #Set grub default root sed -i 's#GRUB_CMDLINE_LINUX=""#GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/pve"#' /target/etc/default/grub sed -i 's#_LINUX_DEFAULT="quiet"#_LINUX_DEFAULT=""#' /target/etc/default/grub #Prepare script for chroot echo "Preparing chroot" echo '#!/bin/bash' > /target/root/chroot.sh chmod +x /target/root/chroot.sh echo "declare -a BOOTSSD" >>/target/root/chroot.sh for disk in ${BOOTSSD[@]}; do echo "BOOTSDD+=$disk" >>/target/root/chroot.sh done if [ -e "/dev/md0" ]; then echo "mdadm --detail --scan >> /etc/mdadm/mdadm.conf" >>/target/root/chroot.sh fi #echo "apt install --yes grub-pc" >>/target/root/chroot.sh #echo "systemctl enable zfs-import-bpool.service" >>/target/root/chroot.sh #echo "sleep 2" >>/target/root/chroot.sh #echo "zfs set mountpoint=legacy bpool/BOOT/pve" >>/target/root/chroot.sh #echo "zpool set bootfs=bpool/BOOT/pve bpool" >>/target/root/chroot.sh #echo "sleep 2" >>/target/root/chroot.sh #echo "mount -a" >>/target/root/chroot.sh echo "grub-probe /boot" >>/target/root/chroot.sh echo "update-initramfs -u -k all" >>/target/root/chroot.sh echo "update-grub" >>/target/root/chroot.sh for disk in ${BOOTSSD[@]}; do echo "grub-install /dev/disk/by-id/$disk" >>/target/root/chroot.sh done echo "ls /boot/grub/*/zfs.mod" >>/target/root/chroot.sh #echo "zfs snapshot bpool/BOOT/pve@install" >>/target/root/chroot.sh echo "zfs snapshot rpool/ROOT/pve@install" >>/target/root/chroot.sh echo 'echo "Exiting from chroot"' >>/target/root/chroot.sh #exit #Prepare mounts and jump to chroot echo "Jump to chroot" mount -o bind /dev /target/dev mount -o bind /sys /target/sys mount -o bind /proc /target/proc #chroot /target /bin/bash /root/chroot.sh --login chroot /target /bin/bash --login exit #Unmount all filesystems and export pools umount -l /target/dev umount -l /target/sys umount -l /target/proc umount -l /target/boot sleep 2 zpool export -a sleep 2 echo "Setup done!" Create RAID: zpool create -o ashift=12 -O acltype=posixacl -O compression=lz4 -O relatime=on -O xattr=sa dades raidz1 wwn-0x5000c500c520c2f7 wwn-0x5000c500cf855885 wwn-0x5000c500cf875876 wwn-0x5000c500cf8fda13 Create shared: zfs create dades/prova Canviar disk zfs replace zpol status Crear nfs: zfs set sharenfs=no_subtree_check,no_root_squash,async,rw=@192.168.1.0/24 dades/prova backup de zfs send receive nfs