User Tools

Site Tools


nndocs:initial

This is an old revision of the document!


Naptastic Network Playbook

Pre-install

Partitioning: The most recent rebuild was shark, for which I took Debian's default EFI setup for the 2TB OS drive. I only changed / to BTRFS instead of ext4. Debian installs itself to a subvolume named @root and makes that subvolume the default, so it's ready for snapshotting backups.

  apt -y install curl vim whois

Make sure to enable contrib, non-free, non-free-firmware in /etc/apt/sources.list.

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.

All systems

  • network interface names. Can I automate this? (Of course I can.)
  • 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

  • mst* installer
  • copy production opensm configuration in case you have take over as SM
  • (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.

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.

Getting Started

Perform a network install of Debian.

run the naptastic installer if it didn't run as part of the installer:

curl https://naptastic.com/initial.sh | /bin/bash
# This is not necessary unless the installer failed to do it.
mkdir /root/.ssh
chmod 700 /root/.ssh
curl https://keys.naptastic.com/david/naptastic.pub >> /root/.ssh/authorized_keys

Configure ssh for a high-numbered port, and not to allow password-based logins. Restart sshd. Verify that 'ssh root@localhost' fails. (You didn't forward your agent, did you?).

Networking

ln -s /dev/null /etc/systemd/network/99-default.link

Here is what a link file looks like for an Ethernet device:

  $ cat /etc/systemd/network/20-igb0.link 
  #
  # Remember to `update-initramfs -u` after changing this file!
  #
  [Match]
  MACAddress=b4:2e:99:38:a9:66
  
  [Link]
  Name=emo0
  MTUBytes=9000

Also update the interface names in /etc/network/interfaces. My current convention is to name devices with just a prefix and a number. “eth” is out because of kernel naming, so

  • emoX for ports on the motherboard
  • enX for gigabit stand-up cards
  • mlxX for Mellanox devices in Ethernet mode (It could happen!)

InfiniBand

Just make a page for this please.

  apt -y install ibutils infiniband-diags libvma mstflint rdma-core qperf
  • opensm config–the defaults are awful
  • partitions–the default config is awful
    • 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' option
    • echo 'rdma 20049' > /proc/fs/nfsd/portlist # does not persist across reboots or restarts
    • edit /etc/nfs.conf, set rdma=yes (I THINK) and rdma-port=20049 to make it persist

Here are the speeds for partitions.conf:

  #   2  = 2.5   GBit/s SDR
  #   3  = 10    GBit/s SDR x4, QDR
  #   4  = 30    GBit/s SDR x12
  #   5  = 5     GBit/s DDR
  #   6  = 20    GBit/s DDR x4
  #   7  = 40    GBit/s QDR x4
  #   8  = 60    GBit/s DDR x12
  #   9  = 80    GBit/s QDR x8 (?)
  #   10 = 120   GBit/s QDR x12
  #   11 = 14    Gbit/s FDR
  #   12 = 56    Gbit/s FDR x4
  #   there are more, faster, in a weird order. Grep opensm's header files.

Options

maybe you feel like it, maybe you don't. idk.

Disable TTY screen blanking (Only necessary on Debian Jessie and older)

Add this to /etc/rc.local above the exit 0 line:

sh -c 'setterm -blank 0 -powersave off -powerdown 0 < /dev/console > /dev/console 2>&1'
For all systems
apt -y remove update-notifier pulseaudio-module-bluetooth bluez blueman bluez-cups bluez-obexd modemmanager rtkit 
For hardware boxes
apt -y install smartmontools qemu-kvm gparted
If you are using a graphical desktop environment

(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.)

apt -y install hexchat synaptic terminator fonts-lohit-knda fonts-knda keepassx evolution virt-manager network-manager-gnome
If you plan to do audio work
apt -y install qjackctl alsa-tools-gui eq10q jalv jamin lilv-utils
cat >> /etc/pulse/daemon.conf
default-sample-format = s24le
default-sample-rate = 96000
^D
If you plan to compile your own kernel
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