hardware:ivan
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| hardware:ivan [2022/05/10 13:18] – created djgalloway | hardware:ivan [2022/06/08 15:17] (current) – djgalloway | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== ivan{01..07} ====== | ====== ivan{01..07} ====== | ||
| ===== Summary ===== | ===== Summary ===== | ||
| - | The Ceph Foundation purchased 7 more servers to join the [[service: | + | The Ceph Foundation purchased 7 more servers to join the [[services: |
| - | - Faster networking between hosts | + | - Faster networking |
| - Large NVMe devices as OSDs | - Large NVMe devices as OSDs | ||
| - 12TB HDDs (largest up until now was 4TB) | - 12TB HDDs (largest up until now was 4TB) | ||
| Line 11: | Line 11: | ||
| ===== Hardware Specs ===== | ===== Hardware Specs ===== | ||
| - | | ^ Count ^ Manufacturer | + | | ^ Count ^ Manufacturer |
| - | ^ Chassis | + | ^ Chassis |
| - | ^ Mainboard | + | ^ Mainboard |
| - | ^ CPU | 1 | Intel | Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz | N/A | [[https:// | + | ^ CPU | 2 | Intel | Intel(R) Xeon(R) |
| - | ^ RAM | 4 DIMMs | Samsung | + | ^ RAM | 4 DIMMs | SK Hynix |
| - | ^ SSD | 2 | Intel | + | ^ SSD | 2 | Intel |
| - | ^ HDD | 11 | Seagate | + | ^ HDD | 9 |
| - | ^ HDD | + | ^ NVMe | 2 |
| - | ^ NVMe | 1 | Micron | + | ^ NVMe | 1 | Intel | SSDPE21M375GA |
| - | ^ NIC | 2 ports | Intel | + | ^ NIC | 2 ports | Intel |
| - | ^ NIC | 2 ports | Intel | 82599ES | + | ^ NIC | 2 ports | Mellanox |
| - | ^ BMC | 1 | Supermicro | + | ^ BMC | 1 | Supermicro |
| ===== OSD/Block Device Information ===== | ===== OSD/Block Device Information ===== | ||
| - | The ivan have 9x 12TB HDD, 2x 1.5TB NVMe, and 1x 350GB NVMe. | + | I used the Orchestrator |
| - | + | ||
| - | The 12TB were added to so we can say we're testing | + | |
| - | + | ||
| - | The smaller NVMe device is split into eleven equal logical volumes. One for each OSD's journal. | + | |
| < | < | ||
| - | root@ivan04:~# lsblk | + | root@reesi001:~# cat ivan_osd_spec.yml |
| - | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | + | service_type: osd |
| - | sda 8:0 0 894.3G | + | service_id: osd_using_paths |
| - | `-sda1 | + | placement: |
| - | | + | |
| - | sdb 8:16 0 894.3G | + | - ivan01 |
| - | `-sdb1 | + | - ivan02 |
| - | `-md0 9:0 0 894.1G | + | - ivan03 |
| - | sdc 8:32 | + | - ivan04 |
| - | sdd 8:48 | + | - ivan05 |
| - | sde 8:64 | + | - ivan06 |
| - | sdf 8:80 | + | - ivan07 |
| - | sdg 8:96 | + | spec: |
| - | sdh 8:112 0 10.9T 0 disk | + | |
| - | sdi 8:128 0 10.9T 0 disk | + | |
| - | sdj 8:144 0 10.9T 0 disk | + | - /dev/sdc |
| - | sdk 8:160 0 10.9T 0 disk | + | |
| - | sr0 | + | |
| - | nvme0n1 | + | |
| - | `-nvme0n1p1 | + | |
| - | |-journals-sdc 253:0 0 31G 0 lvm | + | |
| - | |-journals-sdd 253:1 0 31G 0 lvm | + | - /dev/sdi |
| - | |-journals-sde 253:2 0 31G 0 lvm | + | - /dev/sdj |
| - | |-journals-sdf 253:3 0 31G 0 lvm | + | - /dev/sdk |
| - | |-journals-sdg 253:4 0 31G 0 lvm | + | - /dev/nvme1n1 |
| - | |-journals-sdh 253:5 0 31G 0 lvm | + | - /dev/nvme2n1 |
| - | | + | |
| - | |-journals-sdj | + | paths: |
| - | |-journals-sdk | + | |
| - | |-journals-nvme1n1 253:9 0 31G 0 lvm | + | |
| - | `-journals-nvme2n1 253: | + | |
| - | nvme1n1 | + | |
| - | nvme2n1 | + | |
| - | </code> | + | |
| - | + | ||
| - | ==== How to partition/re-partition the NVMe device ==== | + | |
| - | Here's my bash history that can be used to set up a reesi machine' | + | |
| - | + | ||
| - | < | + | |
| - | ansible -a "sudo parted | + | |
| - | ansible | + | |
| - | ansible | + | |
| - | ansible | + | |
| - | ansible | + | |
| - | for disk in sd{a..l}; do ansible -a "sudo lvcreate -L 31G -n $disk journals" | + | |
| </ | </ | ||
| Line 87: | Line 67: | ||
| ===== Updating BIOS ===== | ===== Updating BIOS ===== | ||
| TBD | TBD | ||
| + | |||
| + | ===== Installation Quirks/ | ||
| + | ==== Networking ==== | ||
| + | Initially, I wanted to have the 1Gb interface cabled on VLAN100 and the 25Gb interfaces cabled to VLAN101 (back.sepia.ceph.com). Up until now I have never really used VLAN101. I was able to get both NICs up, IPs assigned, and the servers could reach each other. The LRC could also reach these servers on their 25Gb/'' | ||
| + | |||
| + | I added the hosts to the cluster using the '' | ||
| + | |||
| + | I reached out to Red Hat IT to have the 25Gb network ports switched over to VLAN100. After that, I struggled to get eno1 (the 1Gb interface) to **not** come up on boot since I didn't need it anymore. | ||
| + | |||
| + | Finally I figured out< | ||
| + | # cat / | ||
| + | [Match] | ||
| + | Name=eno1 | ||
| + | |||
| + | [Network] | ||
| + | DHCP=no | ||
| + | </ | ||
| + | |||
| + | ==== CentOS 8 ==== | ||
| + | I could not for the life of me get ivan05 to install using the Ubuntu preseed below. Its settings are identical to the rest of the machines. I remember someone (I think GregF?) suggest in a CLT call that we should have a mixture of OSes in the LRC so I decided to use CentOS8 instead. | ||
| + | |||
| + | That led to its own difficulties. For example, I couldn' | ||
| + | |||
| + | After running '' | ||
| + | |||
| + | ==== Ubuntu Preseed ==== | ||
| + | Here is the kickstart template used in [[services: | ||
| + | |||
| + | < | ||
| + | ## This file is managed by ansible, don't make changes here - they will be overwritten. | ||
| + | |||
| + | # Fetch the os_version from the distro using this profile. | ||
| + | #set os_version = $getVar(' | ||
| + | |||
| + | # Fetch Ubuntu version (e.g., 14.04) | ||
| + | #set distro_ver = $getVar(' | ||
| + | |||
| + | # Fetch Ubuntu major version (e.g., 14) | ||
| + | #set distro_ver_major = $distro_ver.split(" | ||
| + | |||
| + | ### Apt setup | ||
| + | # You can choose to install non-free and contrib software. | ||
| + | #d-i apt-setup/ | ||
| + | #d-i apt-setup/ | ||
| + | |||
| + | # Preseeding only locale sets language, country and locale. | ||
| + | d-i debian-installer/ | ||
| + | |||
| + | # Keyboard selection. | ||
| + | # Disable automatic (interactive) keymap detection. | ||
| + | d-i console-setup/ | ||
| + | |||
| + | # If you select ftp, the mirror/ | ||
| + | #d-i mirror/ | ||
| + | d-i mirror/ | ||
| + | d-i mirror/ | ||
| + | d-i mirror/ | ||
| + | d-i mirror/ | ||
| + | |||
| + | #Removes the prompt about missing modules: | ||
| + | # Continue without installing a kernel? | ||
| + | #d-i base-installer/ | ||
| + | # Continue the install without loading kernel modules? | ||
| + | #d-i anna/ | ||
| + | |||
| + | # Stop Ubuntu from installing random kernel choice | ||
| + | #d-i base-installer/ | ||
| + | |||
| + | # Controls whether or not the hardware clock is set to UTC. | ||
| + | d-i clock-setup/ | ||
| + | # | ||
| + | # # You may set this to any valid setting for $TZ; see the contents of | ||
| + | # # / | ||
| + | d-i time/zone string Etc/UTC | ||
| + | |||
| + | # Controls whether to use NTP to set the clock during the install | ||
| + | d-i clock-setup/ | ||
| + | # NTP server to use. The default is almost always fine here. | ||
| + | d-i clock-setup/ | ||
| + | |||
| + | ### Partitioning | ||
| + | d-i partman/ | ||
| + | |||
| + | |||
| + | # | ||
| + | # Partitioning | ||
| + | d-i partman/ | ||
| + | umount /media ; \ | ||
| + | mdadm --stop /dev/md0 ; \ | ||
| + | mdadm --remove /dev/md0 ; \ | ||
| + | mdadm --stop /dev/md127 ; \ | ||
| + | mdadm --remove /dev/md127 ; \ | ||
| + | for partition in /dev/sda* /dev/sdb*; do mdadm --zero-superblock $partition ; dd if=/ | ||
| + | echo 1 > / | ||
| + | echo 1 > / | ||
| + | ls -C /dev/sd*; \ | ||
| + | sleep 5; \ | ||
| + | exit 0; \ | ||
| + | |||
| + | |||
| + | # this only makes partman automatically partition without confirmation: | ||
| + | d-i partman-partitionining/ | ||
| + | d-i partman-md/ | ||
| + | d-i partman-md/ | ||
| + | d-i partman-md/ | ||
| + | d-i partman-lvm/ | ||
| + | d-i partman-lvm/ | ||
| + | d-i partman-lvm/ | ||
| + | d-i partman/ | ||
| + | d-i partman/ | ||
| + | d-i partman/ | ||
| + | d-i mdadm/ | ||
| + | |||
| + | d-i partman-auto/ | ||
| + | d-i partman-auto/ | ||
| + | |||
| + | d-i partman-auto/ | ||
| + | 256 | ||
| + | 1024 10000 -1 raid | ||
| + | |||
| + | # specify how the previously defined partitions will be | ||
| + | # used in the RAID setup. | ||
| + | d-i partman-auto-raid/ | ||
| + | 1 2 0 xfs / / | ||
| + | |||
| + | d-i partman/ | ||
| + | d-i partman-efi/ | ||
| + | |||
| + | # Partitioning | ||
| + | # | ||
| + | |||
| + | #User account. | ||
| + | d-i passwd/ | ||
| + | d-i passwd/ | ||
| + | d-i passwd/ | ||
| + | d-i passwd/ | ||
| + | d-i passwd/ | ||
| + | d-i passwd/ | ||
| + | d-i user-setup/ | ||
| + | d-i user-setup/ | ||
| + | |||
| + | # Individual additional packages to install | ||
| + | #if $os_version == ' | ||
| + | d-i pkgsel/ | ||
| + | #else if int($distro_ver_major) == 16 | ||
| + | d-i pkgsel/ | ||
| + | #else if int($distro_ver_major) == 18 | ||
| + | d-i pkgsel/ | ||
| + | #else if int($distro_ver_major) >= 20 | ||
| + | d-i pkgsel/ | ||
| + | #else | ||
| + | d-i pkgsel/ | ||
| + | #end if | ||
| + | |||
| + | # Whether to upgrade packages after debootstrap. | ||
| + | # Allowed values: none, safe-upgrade, | ||
| + | d-i pkgsel/ | ||
| + | |||
| + | # Policy for applying updates. May be " | ||
| + | # " | ||
| + | # " | ||
| + | d-i pkgsel/ | ||
| + | |||
| + | # During installations from serial console, the regular virtual consoles | ||
| + | # (VT1-VT6) are normally disabled in / | ||
| + | # line to prevent this. | ||
| + | d-i finish-install/ | ||
| + | |||
| + | # Avoid that last message about the install being complete. | ||
| + | d-i finish-install/ | ||
| + | |||
| + | # This command is run just before the install finishes, but when there is | ||
| + | # still a usable /target directory. You can chroot to /target and use it | ||
| + | # directly, or use the apt-install and in-target commands to easily install | ||
| + | # packages and run commands in the target system. | ||
| + | |||
| + | # cephlab_preseed_late lives in / | ||
| + | # It is passed to the cobbler xmlrpc generate_scripts function where it's rendered. | ||
| + | # This means that snippets or other templating features can be used. | ||
| + | d-i preseed/ | ||
| + | in-target wget http:// | ||
| + | in-target /bin/chmod 755 / | ||
| + | in-target / | ||
| + | </ | ||
hardware/ivan.1652188723.txt.gz · Last modified: by djgalloway
