Proxmox problem z Kernel Samepage Merging

Co jakiś czas jedna z wirtualek przestawała działać. Problemem okazał się KSM. Możliwe, że jakiś bug. Rozwiązanie problemu jest banalne. Wystarczy wyłączyć KSM.

systemctl disable ksmtuned

Poniżej wycinek z logów wirtualki.

Jan 29 10:21:20 plus kernel: kworker/0:0: page allocation failure: order:0, mode:0x310da
Jan 29 10:21:20 plus kernel: CPU: 0 PID: 25322 Comm: kworker/0:0 Not tainted 3.10.0-957.1.3.el7.x86_64 #1
Jan 29 10:21:20 plus kernel: Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.10.2-0-g5f4c7b1-prebuilt.qemu-project.org 04/01/2014
Jan 29 10:21:20 plus kernel: Workqueue: events_freezable update_balloon_size_func [virtio_balloon]
Jan 29 10:21:20 plus kernel: Call Trace:
Jan 29 10:21:20 plus kernel: [<ffffffffb8361e41>] dump_stack+0x19/0x1b
Jan 29 10:21:20 plus kernel: [<ffffffffb7dbcaa0>] warn_alloc_failed+0x110/0x180
Jan 29 10:21:20 plus kernel: [<ffffffffb835d44e>] __alloc_pages_slowpath+0x6b6/0x724
Jan 29 10:21:20 plus kernel: [<ffffffffb7dc1105>] __alloc_pages_nodemask+0x405/0x420
Jan 29 10:21:20 plus kernel: [<ffffffffb7e0df68>] alloc_pages_current+0x98/0x110
Jan 29 10:21:20 plus kernel: [<ffffffffb7e3dc55>] balloon_page_alloc+0x15/0x20
Jan 29 10:21:20 plus kernel: [<ffffffffc0475811>] update_balloon_size_func+0xb1/0x290 [virtio_balloon]
Jan 29 10:21:20 plus kernel: [<ffffffffb7cb9d4f>] process_one_work+0x17f/0x440
Jan 29 10:21:20 plus kernel: [<ffffffffb7cbade6>] worker_thread+0x126/0x3c0
Jan 29 10:21:20 plus kernel: [<ffffffffb7cbacc0>] ? manage_workers.isra.25+0x2a0/0x2a0
Jan 29 10:21:20 plus kernel: [<ffffffffb7cc1c31>] kthread+0xd1/0xe0
Jan 29 10:21:20 plus kernel: [<ffffffffb7cc1b60>] ? insert_kthread_work+0x40/0x40
Jan 29 10:21:20 plus kernel: [<ffffffffb8374c37>] ret_from_fork_nospec_begin+0x21/0x21
Jan 29 10:21:20 plus kernel: [<ffffffffb7cc1b60>] ? insert_kthread_work+0x40/0x40

Vaping alternatywa dla SmokePing

Vaping czeka w mojej kolejce do testowania. Prezentuje się przyzwoicie i jest napisany w pythonie. Atutem jest prosta instalacja, bo smokeping może być kapryśny.

pip install vaping

Na nanog można znaleźć krótką prezentację. Vaping – A healthy alternative to SmokePing! Także wkrótce pewnie będzie jakiś wpis po praktycznych testach.



REDBACK context PIM

Nigdy nie było nam dane przetestować, ale może się komuś przydać. Konfiguracja inspirowana wpisem na forum sgtsa.pl

context PIM
!
 description SGT IPTV JAMBOX
!
! 
 no ip domain-lookup
!
 interface do-SGT
  description vlan 203 access
  ip address 10.200.28.6/30
  ip arp timeout 290
  pim sparse-mode
!
 interface jambox-v213
  ip address 10.202.125.129/25
  dhcp relay 125
  ip arp timeout 290
  pim sparse-mode passive
!
 interface jambox-v214
  ip address 10.202.125.1/25
  dhcp relay 125
  ip arp timeout 290
  pim sparse-mode passive
!
 interface jambox-v215
  ip address 10.202.198.1/25
  dhcp relay 125
  ip arp timeout 290
  pim sparse-mode passive
!
 interface jambox-v216
  ip address 10.202.198.129/25
  dhcp relay 125
  ip arp timeout 290
  pim sparse-mode passive
!
 interface jambox-v217
  ip address 10.200.199.1/25
  dhcp relay 125
  ip arp timeout 290
  pim sparse-mode passive
!
 interface jambox-v218
  ip address 10.200.199.129/25
  dhcp relay 125
  ip arp timeout 290
  pim sparse-mode passive
!
 interface jambox-v219
  ip address 10.200.124.1/24
  dhcp relay 125
  ip arp timeout 290
  pim sparse-mode passive
 no logging console
!
 ip access-list CPU-FILTERING
  seq 10 deny udp any any eq snmp
  seq 100 permit ip any any
!
 ip access-list SGT-MULTICAST
  seq 10 permit ip 239.239.0.0 0.0.7.255
!
 ip route 10.200.200.0/22 10.200.28.5
!
 pim rp-address 10.200.200.20 group-list SGT-MULTICAST
!
 admin-access-group CPU-FILTERING in
!
 dhcp relay server 10.200.200.31
!
!
!
!
end

Multicast QoS przykład dla D-Link DGS-1510

Ten przykład zakłada, że do markowania używamy DSCP i kolejkowania WRR. Multicast jest markowany u operatora z DSCP 32 dla priorytetowych kanałów, a z DSCP 24 dla pozostałych kanałów.

Wersja obrazkowa z GUI.

Na porcie uplinkowym włączamy Trust DSCP.
Teraz ustawiamy QoS na portach klienckich. Zastosowane wartości WRR Weight są przekładowe. Queue ID = 3 odpowiada DSCP 24, a Queue ID = 4 odpowiada DSCP = 32.

Wersja tekstowa z konsoli, gdzie eht1/0/1 to downlink, a eth1/0/28 uplink.

interface ethernet 1/0/1
 wrr-queue bandwidth 1 1 1 27 127 1 1 0
interface ethernet 1/0/28
 mls qos trust dscp

IGMP Snooping i IGMP Snooping Proxy (DCN S5750E-16X)

Przełącznik domyślnie działa w trybie IGMP Snooping Proxy, dlatego należy wskaząc mu adres IP źródła queriera.

ip igmp snooping
ip igmp snooping vlan 222
ip igmp snooping vlan 222 l2-general-querier-version 2
ip igmp snooping vlan 222 l2-general-querier-source 10.202.33.1

Wyłączenie trybu IGMP Snooping Proxy.

ip igmp snooping
no ip igmp snooping proxy
ip igmp snooping vlan 222

Ustawienia opcjonalne dla obu przypadków.

ip igmp snooping vlan 222 mrouter-port interface Ethernet1/0/1 # statyczne wskazanie źródła multicastów 
ip igmp snooping vlan 222 report suppression # ograniczna do jednego ilość wysyłanych zapytań o konkretną grupę multicastową 

Retencja D-Link 3120

#retencja.sh

#!/bin/bash
PATH=/usr/bin:/bin:/usr/sbin

ROK=`date +%Y`
MIESIAC=`date +%m`
NOW=$(date +"%Y-%m-%d_%H")

PATH_TO_LOGS="/path/to/logs/$ROK/$MIESIAC/"

if [ ! -d "$PATH_TO_LOGS" ]; then
    mkdir -p $PATH_TO_LOGS
    #echo "$PATH_TO_LOGS created"
#else
    #echo "exist $PATH_TO_LOGS"
fi

killall -9 tcpdump
tcpdump -qni eth0 'tcp[tcpflags] &amp; (tcp-syn) != 0' -C 100 -w "$PATH_TO_LOGS"tcpdump-$NOW.pcap -z bzip2
# check if retencja.sh is running
# retencja_sprawdz.sh

#!/bin/bash
PATH=/usr/bin:/bin:/usr/sbin

command="tcpdump -qni eth0"

running=`ps ax | grep -v grep | grep "$command" | wc -l`

if [ $running -gt 0 ]
then
    echo "Command is running"
else
    echo "Command is not running"
    bash /path/to/retencja.sh
fi3
# /etc/cron.d/retencja
#sprawdzanie czy dziala logowanie co 5min
*/5 * * * * root /bin/bash /path/to/retencja_sprawdz.sh
# parsowanie wg. IP np. 8.8.8.8
tcpdump -qn -r tcpdump.dmp | grep 8.8.8.8

Rozwiązanie inspirowane: https://trzepak.pl/viewtopic.php?f=5&t=52488

SmartTV nie działają aplikacje typu Youtube czy IPLA

Jeśli jesteś operatorem ISP. Stosujesz VLANY do transportu Internetu, IPTV czy VoIP. Mogłeś spotkać się z problemem nie działających aplikacji. Podobnie jest z Playstation raportuje brak dostępu do Internetu.

Rozwiązanie. Doprowadzając wiele usług do urządzenia klienckiego należy VLAN z Internetem odtagować, czyli port na switchu ustawić jako hybrydę. Po czym wszelkie problemy znikają jak ręką odjął.

SCROT (SCReenshOT)

Analizowałem strumień multicastowy za pomocą TSReader, ale brakowało mi informacji jak zmieniają się zarejstrowane parametry w czasie.

Po krótkich poszukiwaniach trafiłem na programik SCROT, który idealnie nadawał się do tego zadania.

Poniżej prosty skrypt, który co 60 sekund wykonuje zrzut ekranu.

#!/bin/bash
while true; do scrot -d 60 '%Y-%m-%d-%H-%M-%S.png' -e 'mv $f /path/where/to/save/images/'; done

EVC – szybka porada konfiguracyjna

Przed optymalizacją:

interface gigabitethernet2/0/1
  service instance 1 ethernet
    encapsulation dot1q 1
      bridge-domain 1
  service instance 2 ethernet
    encapsulation dot1q 2
      bridge-domain 2
  service instance 3 ethernet
    encapsulation dot1q 3
      bridge-domain 3

Po optymalizacji:

interface gigabitethernet2/0/1
   service instance trunk 123 ethernet
     rewrite ingress tag pop 1 symmetric
     encapsulation dot1q 1-3
     bridge-domain from-encapsulation