Disclaimer
Перейдя работать в DС довелось наконец первый раз пощупать Arist-ы
по сути "Arista Networks" сейчас - это основной поставщик оборудования для ЦОД-ов у "рука-лица"
Arista cli:¶
Arista cli - явно выраженный "cisco-like" - и не мудрено (костяк основателей как раз выхдцы из cisco)
Рассмотрю cli на примере работы с Arista DCS-7020SR-24C2-R
Работа в конфигурационном режиме:¶
У Arist-ы есть много вариантов работы с конфигурацией
Arista#configure ?
checkpoint Creating a new checkpoint
convert Perform configuration conversion
lock Acquire the configure lock
network Read Configuration from the Network
replace Replace configuration state
session Enter configuration session; commands applied only on commit
terminal Config mode
unlock Remove the configure lock
<cr>
Рассмотрим 2 основных режима работы с конфигурацией:
1. "configure terminal"¶
"configure terminal" - это аналог работы с cisco без commit-a
Тут все что конфигурируется применяется сразу - полная аналогия с командами cisco:
Arista#conf t
Arista(config)#int e22
Arista(config-if-Et22)#description test
Arista(config)#do sh run int e22
interface Ethernet22
description test
mtu 9214
no switchport
2. "configure session"¶
"configure session" - это работа через систему commit-ов (аналог работы c juniper "configure private"
"Вход и редактирование конфига в режиме конфигурации сессии"
Arista#conf session
Arista(config-s-sess-2)#int e22
Arista(config-s-sess-2-if-Et22)#desc test-new
"Просмотр, что будет изменено в конфигурации после коммита"
Arista(config-s-sess-2-if-Et22)#sh session-config diffs
--- system:/running-config
+++ session:/sess-2174--797967552-1-session-config
@@ -130,7 +130,7 @@
no switchport
!
interface Ethernet22
- description test
+ description test-new
mtu 9214
no switchport
!Arista(config-s-sess-2-if-Et22)#commit
после коммита сразу выходит из режима "configure-session"
Работа с rollback/commit¶
Просмотр деталей текущих сессий¶
sh configuration sessions detail
"Arista#sh configuration sessions detail"
Maximum number of completed sessions: 1
Maximum number of pending sessions: 5
Name State User Terminal Commit Time Left Completed Time Committed By
---------------------- --------------- ---------- -------------- ---------------------- ------------------------- ------------
sess-2174--797967552-1 completed 2021-08-08 13:50:00 user4
sess-2174--797967552-2 pending
Просмотр сохрненных конфигураций¶
Просмотр сохрненных конфигураций
"Arista#sh configuration checkpoints"
Maximum number of checkpoints: 20
Filename Date User
-------------- ------------------------- -----------
ckp-20220805-3 2021-01-01 15:21:29 user1
ckp-20220805-4 2021-01-01 15:42:52 user1
ckp-20220805-5 2021-01-01 15:44:58 user1
ckp-20220805-6 2021-01-01 15:47:50 user1
ckp-20220805-7 2021-01-01 15:54:19 user1
ckp-20220805-8 2021-01-01 16:09:23 user1
ckp-20220808-0 2021-01-01 15:08:51 user1
ckp-20220808-1 2021-01-01 15:10:00 user1
ckp-20220905-0 2021-02-02 16:22:36 user1
ckp-20220905-1 2021-02-02 17:11:19 user2
ckp-20220905-2 2021-02-02 17:11:41 user2
ckp-20220928-0 2021-03-03 12:37:01 user1
ckp-20221028-0 2021-04-04 17:50:29 user3
ckp-20221028-1 2021-04-04 18:03:11 user3
ckp-20221028-2 2021-04-04 18:03:25 user3
ckp-20221031-0 2021-05-05 10:00:26 user3
ckp-20221031-1 2021-05-05 10:11:10 user3
ckp-20221103-0 2021-06-06 18:09:10 user3
ckp-20221111-0 2021-07-07 15:26:48 user3
ckp-20221125-0 2021-08-08 13:50:00 user4
"Текущая конфигурация"
"Arista#sh run int e22"
interface Ethernet22
description test-new
mtu 9214
no switchport
"Восстановление до определенного checkpointa"
!Arista#configure checkpoint restore ?
WORD Restore checkpoint name
"!!!Важно - откат конфигурации происходит сразу (без чеков и коммитов) - в отличии от Juniper-а"
"Arista#conf checkpoint restore ckp-20221125-0"
"Проверяем что изменилось"
Arista#sh run int e22
interface Ethernet22
description test
mtu 9214
no switchport
"diff между изменениями в конфигурации"
"Разница между ckp-20221125-1 и ckp-20221125-0"
Arista#diff checkpoint:ckp-20221125-1 checkpoint:ckp-20221125-0
--- checkpoint:ckp-20221125-1
+++ checkpoint:ckp-20221125-0
@@ -194,8 +194,6 @@
interface Ethernet1
description RouterA
no switchport
+ ip address 1.1.1.1/31
!
interface Ethernet2
description RouterB
"Разница между текущей конфигурацией и ckp-20230412-0"
Arista#diff checkpoint:ckp-20230412-0 running-config
--- checkpoint:ckp-20230412-0
+++ system:/running-config
@@ -247,6 +247,7 @@
spanning-tree bpduguard enable
!
interface Ethernet21
+ shutdown
switchport trunk native или vlan 1000
switchport mode trunk
sflow enable
"Защита от дурака"
"Можно задать таймер применения конфига - если не закомиттить в течении данного времени, то конфиг откатится назад"
Arista(config-s-sess-2-if-Et22)#commit ?
timer commit session with a timeout. If not committed within this time, config will be reverted.
Arista - что "под капотом"¶
Как и в Джуне на ARIST-e можно провалиться в шелл:
Провалиться в Linux¶
Arista#bash
"Arista#bash"
Arista Networks EOS shell
Посмотреть версию ОС - и это мой любимый CentOS!!!
Жаль конечно, что RedHat-овцы сначала купили его, а потом спустили в "сотртир"...
И по сути сейчас основной опенсорс мейнстрим это Debian.
Но это так лирика - шаг в сторону...
Продолжим...
![user@Arista ~]$ cat /etc/*release*
Arista Networks EOS 4.25.4M
Arista Networks EOS 4.25.4M
# os-release generated by Eos-release-4.25.4 for platform i386_el7
NAME="CentOS Linux"
VERSION="7 (AltArch)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (AltArch)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
CentOS Linux release 7.8.2003 (AltArch)
Arista Networks EOS 4.25.4M
Arista Networks EOS shell
"Посмотреть размер памяти"
[user@Arista ~]$ cat /proc/meminfo
MemTotal: 32879560 kB
MemFree: 27733380 kB
MemAvailable: 30153416 kB
Buffers: 246528 kB
Cached: 3214368 kB
SwapCached: 0 kB
Active: 1913672 kB
Inactive: 2505804 kB
Active(anon): 1144896 kB
Inactive(anon): 69836 kB
Active(file): 768776 kB
Inactive(file): 2435968 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 16 kB
Writeback: 0 kB
AnonPages: 958576 kB
Mapped: 755644 kB
Shmem: 256156 kB
Slab: 450696 kB
SReclaimable: 143756 kB
SUnreclaim: 306940 kB
KernelStack: 7536 kB
PageTables: 96752 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 16439780 kB
Committed_AS: 3693512 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 4512 kB
HardwareCorrupted: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 186172 kB
DirectMap2M: 8185856 kB
Посмотреть версию ОС
irectMap1G: 27262976 kB
[user@Arista ~]$ cat /proc/meminfo
MemTotal: 32879560 kB
MemFree: 27733880 kB
MemAvailable: 30154144 kB
Buffers: 246728 kB
Cached: 3214380 kB
SwapCached: 0 kB
Active: 1913720 kB
Inactive: 2505808 kB
Active(anon): 1144740 kB
Inactive(anon): 69840 kB
Active(file): 768980 kB
Inactive(file): 2435968 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 16 kB
Writeback: 0 kB
AnonPages: 958420 kB
Mapped: 755612 kB
Shmem: 256164 kB
Slab: 450620 kB
SReclaimable: 143808 kB
SUnreclaim: 306812 kB
KernelStack: 7488 kB
PageTables: 96292 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 16439780 kB
Committed_AS: 3682148 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 4512 kB
HardwareCorrupted: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 186172 kB
DirectMap2M: 8185856 kB
Посмотреть версию ОС
irectMap1G: 27262976 kB
"Посмотреть версию ОС"
user@Arista ~]$ uname -a
Linux Arista.pod1.z502 4.19.142.Ar-22394741.4254M #1 SMP PREEMPT Tue May 25 11:41:11 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux
Примеры других настроек:¶
Ручное задание на интерфейсе типа/скорости SFP+ модуля¶
!При такой настройке задается тип и скорость работы модуля
interface Ethernet25/1
...
transceiver media override 100gbase-cwdm4
Просмотр состояние питания¶
"sh environment power"
Arista# sh environment power
Power Input Output Output
Supply Model Capacity Current Current Power Status Uptime
------ --------------- -------- ------- ------- ------ ---------- -----------------
1 PWR-511-AC-BLUE 500W 0.47A 7.38A 88.2W Ok 317 days, 2:54:38
2 PWR-511-AC-BLUE 500W 0.00A 0.00A 0.0W Power Loss Offline
Total -- 500W -- -- 88.2W -- --
Приколы с BGP shutdown¶
"Если имеется конструкция типа:"
router bgp 1111
neighbor 1.1.1.1 shutdown
"то отменить ее не так и просто"
"при задании команды с "no" конструкция поведет себя не так как ожидалось бы"
!Arista(config-s-sess-2-router-bgp)#no neighbor 1.1.1.1 shutdown
!Arista(config-s-sess-2-router-bgp)#sh session-config diffs
--- system:/running-config
+++ session:/sess-2095--770704576-1-session-config
@@ -1227,7 +1227,7 @@
- neighbor 1.1.1.1 shutdown
+ no neighbor 1.1.1.1 shutdown
"Для корректного восстановления сессии при shutdown-e нужно использовать конструкцию default, т.е."
Arista(config-s-sess-2-router-bgp)##default neighbor 1.1.1.1 shutdown
"Тогда всё будет норм"
!Arista(config-s-sess-2-router-bgp)#sh session-config diffs
--- system:/running-config
+++ session:/sess-2095--770704576-1-session-config
@@ -1227,7 +1227,7 @@
- neighbor 1.1.1.1 shutdown
Последнее обновление: 2023-05-29