nndocs:initial
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
nndocs:initial [2024/02/15 16:32] – add infiniband info naptastic | nndocs:initial [2024/12/05 18:16] (current) – stub out thing naptastic | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Naptastic Network Playbook ===== | ===== Naptastic Network Playbook ===== | ||
- | + | ====Partition drives==== | |
- | == Pre-install | + | |
Partitioning: | Partitioning: | ||
- | apt -y install curl vim whois | + | Add / |
- | Make sure to enable contrib, non-free, non-free-firmware in / | + | ====Move ~ to a BTRFS subvolume==== |
+ | Separate snapshotting the OS from snapshotting your files. | ||
- | Comment out svcrdma in /etc/rdma/modules/rdma.conf or nfs-kernel-server won't start. I'm not sure what's **actually** needed to make NFS/RDMA work. | + | ====SSH key for root==== |
+ | mkdir /root/.ssh | ||
+ | chmod 700 /root/.ssh | ||
+ | curl https:// | ||
- | ==== All systems | + | ====Reconfigure SSH==== |
- | * network interface names. Can I automate this? (Of course I can.) | + | Configure ssh for a high-numbered port, and not to allow password-based logins. Restart sshd. Verify that 'ssh root@localhost' |
- | * Profile stuff: Bash, Vim, ? Can I automate this? (Of course I can.) | + | |
- | * Network stuff. Too much goddamn customization. | + | |
- | * disable journald; configure logging for everything. | + | |
- | * Make a list of things that need to log | + | |
- | * How exactly do I want logging set up? | + | |
- | === All systems with Mellanox adapters | + | ====Backups==== |
- | * mst* installer | + | Create / |
- | * copy production opensm configuration | + | |
- | * (what needs to change here for VMs using virtual functions?) | + | |
- | If your host is going to do audio stuff, follow the LAD playbook. Which also badly need an update. | + | # / was on / |
+ | UUID=some-long-string / | ||
+ | UUID=some-long-string / | ||
- | If your host is going to host web stuff, follow the LAMP playbook but keep in mind it's badly out-of-date. Be prepared to search, read docs, look for a better way. | + | ====Install Shorewall==== |
- | ===== Getting Started ===== | + | * customize interfaces, rules, policy...? |
+ | * / | ||
+ | * / | ||
+ | * systemctl enable | ||
+ | * reboot a bunch of times because it's not passing traffic for no reason | ||
- | Perform a network install of Debian. | + | ====Pick the best mirror==== |
+ | If the repo is installed or mounted locally: | ||
+ | deb file:/// | ||
+ | deb-src file:/// | ||
- | run the naptastic installer if it didn't run as part of the installer: | + | If you have to get it via HTTP: |
+ | deb http:// | ||
+ | deb-src http:// | ||
- | curl https://naptastic.com/initial.sh | /bin/bash | + | If you have to use public mirrors (RIP): |
+ | deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware | ||
+ | deb-src http:// | ||
- | # This is not necessary unless the installer failed to do it. | + | ====Remove crap==== |
- | | + | |
- | chmod 700 / | + | |
- | curl https:// | + | |
- | Configure ssh for a high-numbered port, and not to allow password-based logins. Restart sshd. Verify that 'ssh root@localhost' | + | ====Install extra packages==== |
+ | (This is set up so you can triple-click each block you need, copy/paste or middle-paste into your terminal, then press enter at the end and install everything in one transaction.) | ||
- | ==== Networking ==== | + | apt -y install curl vim whois |
- | | + | Hardware hosts add: |
+ | | ||
- | Here is what a link file looks like for an Ethernet device: | + | Desktops: |
+ | | ||
- | $ cat / | + | Audio workstations: |
- | # | + | qjackctl alsa-tools-gui eq10q jalv jamin lilv-utils |
- | # Remember to `update-initramfs | + | |
- | # | + | |
- | [Match] | + | |
- | MACAddress=b4: | + | |
- | + | ||
- | [Link] | + | |
- | Name=emo0 | + | |
- | MTUBytes=9000 | + | |
- | Also update the interface names in / | + | If you plan to compile your own kernel: |
- | * emoX for ports on the motherboard | + | bison flex libssl-dev ncurses-dev libelf-dev |
- | * enX for gigabit stand-up cards | + | |
- | * mlxX for Mellanox devices in Ethernet mode (It could happen!) | + | |
- | ==== InfiniBand | + | ====Networking==== |
+ | ===Device Names=== | ||
+ | ln -s /dev/null / | ||
- | Just make a page for this please. | + | Here is what a link file looks like for an Ethernet device: |
+ | $ cat / | ||
+ | # | ||
+ | # Remember to `update-initramfs -u` after changing this file! | ||
+ | # | ||
+ | [Match] | ||
+ | MACAddress=b4: | ||
+ | |||
+ | [Link] | ||
+ | Name=emo0 | ||
+ | MTUBytes=9000 | ||
- | apt -y install ibutils infiniband-diags libvma mstflint rdma-core qperf | + | * emoX for ports on the motherboard |
+ | * enX for (multi-)gigabit stand-up cards | ||
+ | * ibX for InfiniBand IPoIB devices (these do not need .link files though) | ||
+ | * mlxX for Mellanox devices in Ethernet mode | ||
- | * opensm config--the defaults are awful | + | ===Port Conventions=== |
- | * partitions--the default config is awful | + | X is 0-indexed. Port 0 on a stand-up card is the farthest from the motherboard. On a motherboard, |
- | * Subnet speeds listed below. | + | |
- | * the iSCSI page should mention iSER | + | |
- | * NFS-RDMA needs info | + | |
- | * **DO NOT** restart nfsd if there are active RDMA mounts. They will not recover. | + | |
- | * export needs 'insecure' | + | |
- | * echo 'rdma 20049' > / | + | |
- | * edit /etc/nfs.conf, set rdma=yes (I THINK) and rdma-port=20049 to make it persist | + | |
- | Here are the speeds | + | ===InfiniBand=== |
+ | * [[infiniband]] | ||
+ | * mst* installer | ||
+ | * copy production opensm configuration in case you have take over as SM | ||
+ | * (what needs to change here for VMs using virtual functions?) | ||
- | # | + | Comment out svcrdma in /etc/rdma/modules/rdma.conf or nfs-kernel-server won't start. I'm not sure what' |
- | # | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | # 10 = 120 | + | |
- | # 11 = 14 Gbit/s FDR | + | |
- | # 12 = 56 Gbit/s FDR x4 | + | |
- | # there are more, faster, in a weird order. Grep opensm' | + | |
- | ===== Options ===== | + | ===Ethernet configuration=== |
+ | Is a total mess right now. I don't know what I'm doing or how I want to do it. | ||
- | maybe you feel like it, maybe you don't. idk. | + | ====Hugepages==== |
+ | Useful for databases, PHP, Factorio, and probably other things! Add something like this to /etc/sysctl.conf: | ||
- | == Disable TTY screen blanking (Only necessary on Debian Jessie and older) == | + | vm.nr_hugepages=512 |
- | Add this to ''/ | + | To make a non-persistent change, |
- | | + | |
- | == For all systems == | + | Make sure your locked memory limit is equal to or greater than the amount of RAM you're reserving for hugepages. |
- | apt -y remove update-notifier pulseaudio-module-bluetooth bluez blueman bluez-cups bluez-obexd modemmanager rtkit | + | ====Shell profile==== |
+ | * Profile stuff: Bash, Vim, ? Can I automate this? (Of course I can.) | ||
- | == For hardware boxes == | + | ====Logging==== |
+ | * disable journald; configure logging for everything. | ||
+ | * Make a list of things that need to log | ||
- | apt -y install smartmontools qemu-kvm gparted | + | ====Email==== |
+ | lol, not yet | ||
- | == If you are using a graphical desktop environment | + | ====Disable TTY screen blanking==== |
+ | I don't know when this is necessary anymore. Add this to ''/ | ||
- | (this needs an update: not sure about fonts packages. Also some network-manager-*-gnome packages might be useful depending on what kind of networking you're doing.) | + | sh -c ' |
- | apt -y install hexchat synaptic terminator fonts-lohit-knda fonts-knda keepassx evolution virt-manager network-manager-gnome | + | ====Audio workstations==== |
- | + | ||
- | == If you plan to do audio work == | + | |
- | + | ||
- | apt -y install qjackctl alsa-tools-gui eq10q jalv jamin lilv-utils | + | |
cat >> / | cat >> / | ||
default-sample-format = s24le | default-sample-format = s24le | ||
Line 126: | Line 130: | ||
^D | ^D | ||
- | == If you plan to compile your own kernel == | + | More on [[lad]]. |
- | + | ||
- | apt -y install bison flex libssl-dev ncurses-dev libelf-dev | + |
nndocs/initial.1708014723.txt.gz · Last modified: 2024/02/15 16:32 by naptastic