slovak saned training day 2012 - new networking in solaris 11
DESCRIPTION
Presentation from SanEd training day for Oracle Solaris customers to explain new networking features in Solaris 11. Presentation covers following themes: - Infiniband - administration of virtualized networks (dladm, dlstat, flowadm, flowstat, ipadm), network automagic (NWAM) (netadm, netcfg), ip multipathing (ipmpstat) - network storage (CIFS/SMB filesystem - sharectl, idmap, smbadm), COMSTAR (stmfadm, sdbadm, itadm)TRANSCRIPT
Nové sítě v Solaris 11SanEd Day 2012
Martin Červený[email protected]
Architektura sítě Infiniband
Administrace sítí v Solaris 11
Síťové úložiště NAS a SAN v Solaris 11
Architektura sítě Infiniband
5
infiniband
Vývoj sítě Infiniband ● vývoj od 1999 - system area network
– Future I/O (IBM, HP, Compaq (Tandem))– Next Generation I/O (Sun, Intel, Microsoft)
● InfiniBand Trade Association (infinibandta.org)● OpenFabrics Alliance (openfabrics.org)
– OpenFabrics Enterprise Distribution (OFED)● TOP500 superpočítačů
Čer 2
003
Lis 2
003
Čer 2
004
Lis 2
004
Čer 2
005
Lis 2
005
Čer 2
006
Lis 2
006
Čer 2
007
Lis 2
007
Čer 2
008
Lis 2
008
Čer 2
009
Lis 2
009
Čer 2
010
Lis 2
010
Čer 2
011
Lis 2
0110
100
200
300
400
500gigabit ethernet
infiniband ostatní
6
Funkce nabízené sítí Infiniband
● koncept– přímý přístup k síťovému rozhraní (kernel bypass)– založeno na vzdáleném přístupu k paměti s daty
● Remote Direct Memory Access (RDMA)– virtuální komunikační kanál/spojení
● spojený lokální a vzdálený pár odesílacích a přijímacích front (Queue Pair)
● transportní služby– Infiniband Reliable/Unreliable, Connected/Datagram
● RC, RD, UC, UD– také přímo (raw) Ethernet a IPv6 (rfc4392)
● operace Infiniband transportních služeb– zaslání a příjem zpráv (i multicast)– čtení a zápis RDMA– atomické operace (cmp&swap a fetch&add)
infiniband
funkce
7
Správa sítě Infiniband
● bezpečnost– klíče pro dělení sítě (partitions), klíče pro operace– sekvenční čísla paketů (PSN)
● zjednodušená správa Infinibandu– centrální řízení sítě (primární a případně záložní)
● konfigurátor sítě - Subnet Manager (SM)● databáze informací - Subnet Administrator (SA),
dotazován je z Subnet Administrator Client (SAC)– na všech uzlech
● agent pro konfiguraci sítě, Subnet Manager Agent (SMA), ovládán je ze Subnet Manager (SM)
● General Services Agents (GSA), ovládáni jsou z General Services Managers (GSM)
– sestavení spojení QP - Communication (CM)– statistiky rozhraní - Performance (PM) – monitor a správa hw - Baseboard (BM) – správa rozhraní - Device (DM)– Vendor-specific, Application-specific, SNMP
infiniband
funkce
8
Fyzická topologie● fyzické spojení
– více linek najednou● 1x, 4x, 12x (byte striping)
– kódovací rychlost● SDR (2,5GHz), DDR (5GHz), QDR (10GHz)
– kódování 8/10 (4xQDR=4GB/s)● FDR (14GHz), EDR (26GHz) ...
– kódování 64/66 (4xFDR=6.8GB/s)
– nízké zpoždění v přepínačích (~100ns)– řízení toku (FCP na každé VL, FECN/BECN) – obvyklé topologie přepínané sítě
fat tree (CBB) 3D torus
infiniband
9
ETH
Datagram (8B)Reliable Datagram (4B)
RDMA (16B)Atomic (28B)
ACK (4B)Atomic ACK (8B)
Immediate Data (4B)Invalidate (4B)
Datový rámec sítě Infinibandinfiniband
LHRGHRBTH iCRCvCRCdata
8B 40B 12B8B 0-4096B 4B 2B
VL vr SL NH dest LID len src LID
adresace (Local IDentifier) ● 48k pro koncové zařízení
(s podporou více cest)● 16k pro multicast
kvalita služby●Virtual Lines (VL)
● až 16 QoS front●Service level (SL)
vr tclass flow label len NH hops
src GID(128bit)
dest GID(128bit)
invariant a variant CRC
opcode SMP vr p-key dest QP (24bit)
A PSN
GHR≡IPv6není vložena
při lokální komunikaci !
A PSN
operacesend, RDMA write, RDMA read,
atomické cmp&swap a fetch&add,pomocné ack, resync
10
Párové komunikační frontyinfiniband
transport + RDMAoffload engine
portVL VL VLVLVL ...
send receivequeue queue
completionqueue
QP
software
zaslání WQEs
příjem CQEs
transport + RDMAoffload engine
portVL VL VLVLVL ...
send receivequeue queue
completionqueue
QP
software
11
IB transport framework
Softwarová architektura v Solarisu
user MAD
diag SM/SA
user verbs user DAPL
MPI NET
DEV FS
cluster
SDP
IPoIBEoIB SDP SRP iSER rNFSRDS
MAD SMA GSA
hermonmellanox connectX/X-2
tavormellanox tavor/arbel+withmem
arbelmellanox arbel-nomem
FCoIB
sys
usr
infiniband
verbs
iSCSIIP
solaris
CM,PM,DM,BMASM, VSM, SNMP
FCvšechnyprotokolyobsahují
GSM a SAC
GLD
12
Síťové aplikace a Infinibandinfiniband
solaris
● Ethernet over IB (EoIB)– přenos UD, Mellanox BridgeX most do ethernetu– nabízí GLDv3 (vnic, vlan), IB partitions
● IP over IB (IPoIB)– rfc4391, rfc4755, rfc4930– podpora "linkmode" UD a CM (RC/UC)– IB partitions
● Sockets Directs Protocol (SDP)– přímá vazba z aplikací
● SOCK_STREAM + SF_INET_SDP/ PROTO_SDP– možnost emulace standardního rozhraní pomocí
knihovny● Reliable Datagram Sockets (RDS)
– Oracle protokol pro databázi– přímá vazba z aplikací
● SOCK_DGRAM, PF_INET_OFFLOAD
13
Nástroje na administraciinfiniband
solaris
● softwarové balíky– driver/infiniband/* - ovladače– system/io/infiniband/* - komponenty– network/open-fabrics - OFED nástroje– system/storage/iscsi/iscsi-iser– system/storage/scsi-rdma/scsi-rdma-target
● nástroje– cfgadm (cfgadm_ib(1M))– dladm(1M)
● create-part,delete-part,show-part,show-ib– datadm (1M)
● nástroje OFED– /usr/sbin/
● ib*, perfquery, saquery, sminfo, smpquery, smpdump, dump2psl.pl, dump2slvl.pl
● (opensm)– /usr/bin/
● ib_*, ibv_*, rdma_*, mckey, rping, ucmatose, udaddy, qperf, rds-*
14
ZkratkyAPM Automatic Path MigrationBECN Backward Explicit Congestion NotificationBTH Base Transport HeaderCBB Constant Bisectional BandwidthCFM Configuration ManagerCQ Completion QueueCQE Completion Queue ElementCRC Cyclic Redundancy CheckDAPL Direct Access Programming APIDDR Double Data RateDEV SCSI device (disk,tape..)DIF Data Integrity FieldEDR Twentyeight Data RateEoIB Ethernet over InfinibandFC Fibre ChannelFCP Flow Control PacketFDR Fourteen Data RateFECN Forward Explicit Congestion NotificationFS FilesystemGID Global IDentifierGRH Global Routing HeaderGUID Globally Unique IDentifierHCA Host Channel AdapterIB InfiniBandIBTA InfiniBand Trade AssociationICRC Invariant CRCIPoIB IP over InfiniBandIPv6 Internet Protocol Version 6iSER iSCSI Extensions for RDMALID Local IDentifierLMC Link Mask Control
LRH Local Routing HeaderLUN Logical Unit NumberMAD Management DatagramMPI Message Passing Interface API applicationMR Memory RegionNET Netowork API applicationOSD Object based Storage DevicePD Protection DomainPM Performance Manager AgentQDR Quadruple Data RateQP Queue PairRDMA Remote DMARDS Reliable Datagram ServicerNFS RDMA for RPC under NFSRPC Remote Procedure CallSA Subnet AdministratorSAC Subnet Administrator ClientSDP Sockets Direct ProtocolSDR Single Data RateSL Service LevelSM Subnet ManagerSM Subnet ManagerSMC Subnet Manager ClientSRP SCSI RDMA ProtocolTCA Target Channel AdapterULP Upper Layer ProtocolVCRC Variant CRCverbs verbs APIVL Virtual LaneWQE Work Queue ElementWRR Weighted Round Robin
infiniband
Administrace sítí v Solaris 11
16
Nová administrace a vlastnosti sítí
● L2 (datalink layer) - dladm(1m),dlstat(1m)– volitelná jména (rename-link)– zobrazení, nastavení a smazání doplňujících
informací (show-ether,show-phys,delete-phys,show-link,show-linkprop,set-linkprop,reset-linkprop)
– automatické VNIC do zón (zonecfg/anet)– Virtual Router Redundancy Protocol (VRRP)– Link Layer Discovery Prot.(LLDP)-lldpadm(1m)– řízení toků L3 - flowadm(1m),flowstat(1m)
● L3 (ip network layer) - ipadm(1m)– autokonfigurace - netadm(1m),netcfg(1m)
● network automagic (NWAM)– nový IP multipathing (IPMP)– konfigurace v SMF(5) - dns, nss ...
● L4 - integrovaný "loadbalancer" - ilbadm(1m)
sítě
17
Sítě L2sítě
L2
GLDv3aggrnic
nic nicnicnicnic nic
etherstubvnitřní L2 síť
nicnicnicnic
aggrvíce spojení k jednomupřepínači LACP, A/A ⇒
podle L2,L3,L4
bridgevíce spojení
k více přepínačům
⇒ STP, A/P L2 na cestu
nic
nicnic
nic
vnicvíce vNIC z jednéNIC každá vNIC⇒má vlastní L2 addr
vlanvíce vNIC z jedné NIC ⇒ každá vNICmá vlastní
VLAN id
18
Konfigurace L2 sítě● etherstub (802.1D)
– dladm create-etherstub switchname● bridge (802.1D)
– "spanning tree" protokoly (trill, spt)– dladm create-bridge -l ethdev -l ethdev… switchname
● agregace linek (802.3ad, LACP)– agregační politiky (L2,L3,L4), LACP mód– dladm create-aggr -l ethdev -l ethdev… aggrname
● konfigurace VNIC– šířka pásma, priorita a přiřazení na cpu– dladm create-vnic -l ethdev|switchname|aggrname -p
maxbw=#M,priority=low vnicname● konfigurace VLAN VNIC
– dladm create-vnic -l ethdev|switchname|aggrname -v vid vlaname
● konfigurace Infiniband partition– dladm create-part -l ibdev -P pkey partname
● další konfigurace– wifi včetně klíčů (*wifi,*secobj), ip tunel (*iptun)
sítě
L2
19chytrá NIC hloupá NIC
etherstub
tcp/ip tcp/iptcp/ip
Virtualizace sítísítě ● komponenty pro virtualizaci
– virtuální síťové rozhraní (VNIC)● část kapacity (maxbw) a priorita (priority)
– řízení toků podle port,transport,ip,ds (flow)● hardwarová podpora VNIC a flow
– některé bge, e1000g, igb, ixgbe, nxge, nge
tcp/ip
vnic
ip flow
vnic
ringbufringbuf
hw flow
tcp/ip
vnic
ip flow
vnic
ringbufringbuf
sw flow
tcp/ip
vnic
ip flow
vnic
ringbufringbuf
sw flow
L2
QoS
20
Řízení toků - flow control
● řízení toků L3/L4 (realizace v L2)● klasifikace toku
– transport - tcp,udp,sctp,icmp,icmpv6– lokální a vzdálené porty a ip adresy– dsfield/dscp (RFC2474)
● charakter toku– šířka pásma a priorita
● sběr dat● konfigurace
– flowadm add-flow -l vnicname -a transport=proto,remote_port=#port flow
– flowadm set-flowprop -p maxbw=#M flow– flowadm show flowprop‐– flowadm show flow ‐
crossbowsítě
L2
QoS
21
Autokonfigurace IP
● network automagic (NWAM) - nwamd/netcfgd– automatická konfigurace ethernet a wifi– konfigurace - netcfg(1M),netadm(1M)
● Network Configuration Profile (NCP)– jaké a jak sítě aktivovat (LINK a IP)– systémové: "Automatic", "DefaultFixed"– Network Configuration Units (NCU)
● Location profile (LOC)– podmíněná aktivace služeb (NSS,IPF,IPSec)– systémové: "Automatic", "NoNet"
● External Network Modifiers (ENM)– podmíněná aktivace ext. služeb (skripty,SMF)
● Known Wifi (WLAN)– funkce
1) aktivace událostí (up/down, dhcp lease change)2) podle zvoleného NCP postup konfigurace sítí3) volba a aktivace právě jednoho LOC4) volitelně volba a aktivace ENM
crossbowsítě
L3
vypnutíNWAM
NWAM
22
Konfigurace NWAM● vytvoření profilů - netcfg(1M)
create ncp "muj_ncp" create ncu phys "net0" set activation-mode=prioritized set priority-group=1 set priority-mode=shared end create ncu ip "net0" set ip-version=ipv4,ipv6 set ipv4-addrsrc=dhcp set ipv6-addrsrc=dhcp,autoconf endendcreate loc "muj_loc" set activation-mode=conditional-any set conditions="ip-address is-in-range 192.168.56.0/24" set nameservices=dns set nameservices-config-file="/etc/nsswitch.dns" set dns-nameservice-configsrc=dhcpendcreate enm "muj_enm" set activation-mode=conditional-any set conditions="loc muj_loc is active" set start="/enm_start" set stop="/enm_stop"end
crossbowsítě
L3
NWAM
23
Správa profilů NWAM● správa profilů - netadm(1M)
– ruční výběr NCP (lze pouze jeden)● netadm enable -p ncp "muj_ncp"● netadm list -x
– ruční výběr NCU, LOC nebo ENM pro označené ● set activation-mode=manual
– vypnutí NWAM● netadm enable -p ncp DefaultFixed
crossbowsítě
L3
NWAM
24
Manuální konfigurace IP● konfigurace IP vrstvy - ipadm(1m)
– IP konfigurace● aktivace IP vrstvy
– dladm show-phys; dladm show-link– ipadm create-ip vnicname– ipadm show-if
● přidání IP adresy– ipadm create-addr -T static|dhcp|addrconf ... vnicname/addrname
– ipadm show-addr– ipadm show-addrprop
● další nastavení IP adresy – up-addr,down-addr,enable-addr,disable-addr,refresh-addr,delete-addr
– show-addrprop,set-addrprop,reset-addrpro
– parametry sítě (*-prop, *-ifprop)● konfigurace NSS● svccfg -s dns/client setprop config/domain = "domain"● svccfg -s dns/client setprop config/nameserver = ipaddr● svccfg -s switch setprop config/host = '"files dns"'● svcadm refresh dns/client switch
crossbowsítě
L3
bez NWAM
25
IP multipathing
● konfigurace IPMP - ipadm(1m),ipmpstat(1m)dladm rename-link vnicname0 ipmplink0dladm rename-link vnicname1 ipmplink1dladm rename-link vnicname2 ipmplink2ipadm create-ipmp ipmpnameipadm create-ip ipmplink0ipadm create-ip ipmplink1ipadm create-ip ipmplink2ipadm add-ipmp -i ipmplink0 -i ipmplink1 -i ipmplink2 ipmpnameipadm create-addr -T dhcp|static|addrconf ipmpname/addrname0ipadm create-addr -T dhcp|static|addrconf ipmpname/addrname1 …ipadm create-addr -T dhcp|static|addrconf ipmplink0/addrnameipadm create-addr -T dhcp|static|addrconf ipmplink1/addrnameipadm create-addr -T dhcp|static|addrconf ipmplink2/addrnameipadm set-ifprop -p standby=on ipmplink2
crossbowsítě
L3
bez NWAM
IPMP
nic0 nic1 nic2
ip0 ip1
nic0 nic1 nic2
ip0 ip1fail nebo
offline
Síťové úložiště NAS a SAN v Solaris 11
27
Síťové úložiště● Network Attached Storage (NAS)
– síťové souborové systémy (fileserver)– NFS, Server Message Block (SMB) (CIFS)
● Storage Area Netowork (SAN)– síťové zařízení s SCSI příkazy (t10.org) – FC, FCoE, iSCSI, iSCSI/iSER, SRP
úložiště
28
Síťové souborové systémy
● konfigurace a integrace– sjednocené příkazy
● share(share_smb,share_nfs(1M)),mount(mount_smbfs,mount_nfs(1M)),sharectl(1m) ...
– NFS - podpora InfiniBand (-o proto=rdma)– SMB
1) mapování identity (idmap) - idmap(1m)– z adresářové služby (AD,AD+IDMU,LDAP) – mapovací pravidla– dočasné mapování (ephemeral)
2) spuštění serveru v doméně nebo pracovní skupině
● smbadm(1M),sharectl(1M),smbstat(1M)● nastavení globálních parametrů
– sharectl set|get [-pproperty=value] smb
úložiště
NAS
29
Idmap z adresářové služby● AD - rozšířit schéma o unix jména
– attributeTypes: unixUserName,unixGroupName– objectClasses: unixNameInfo
● LDAP - rozšířit schéma o win jména– attributeTypes: winAccountName– objectClasses: winAccount
● nastavení idmap (setprop svc:/system/idmap)– config/directory_based_mapping = name|idmu|none– config/ad_unixuser_attr = unixUserName– config/ad_unixgroup_attr = unixGroupName– config/nldap_winname_attr = winAccountName
● doplňující mapování– pro AD
● idmap set-namemap winuser:username@domain-name unixuser:username
● idmap set-namemap wingroup:groupname@domain-name unixgroup:groupname
– pro LDAP● idmap set-namemap unixuser:username winuser:username@domain-name
● idmap set-namemap unixgroup:groupname wingroup:group-name@domainname
úložiště
NAS
SMB
idmap
30
Idmap mapovacími pravidly ● mapovací pravidla
– jednosměrné, obousměrné mapování– idmap add 'winuser:*@example.com' 'unixuser:*'– idmap add 'wingroup:*@example.com' 'unixgroup:*'
– idmap add winname:username unixuser:username– idmap add wingroup:groupname unixgroup:groupname
– idmap import -f file format
úložiště
NAS
SMB
idmap
31
Spuštění serveru● server ve windows doméně
1) nastavení KRB5 + NTP ● /etc/krb5/krb5.conf
2) spuštění serveru ● svcadm enable -r smb/server
3) připojení k doméně ● smbadm join -u username domain-name
● server ve windows pracovní skupině1) spuštění serveru
● svcadm enable -r smb/server2) připojení k doméně
● smbadm join -w workgroup-name3) nastavit PAM
● /etc/pam.conf● other password required pam_smb_passwd.so.1 nowarn
● /var/smb/smbpasswd4) přenastavit všechna hesla
úložiště
NAS
SMB
32
Konfigurace serveru ● sdílení
– vynucené zamykání - nbmand=on– mapování "guest"
● guestok=true● idmap add winname:Guest unixuser:guest
– Access-Based Enumeration - abe=on– překlad znaků CATIA - catia=true– mapování domovských adresářů na serveru
● /etc/smbautohome– SMB privilegované skupiny– tisková fronta
● standardní sdílení - /etc/dfs/dfstab● sdílení na zfs
– zfs create -o nbmand=on,utf8only=on pool-name/fsname
– zfs set share=name=myshare, path=/mntpnt/directory,prot=smb pool-name/fsname
úložiště
NAS
SMB
33
Konfigurace klienta
● nastavení– spuštění klientských služeb
● svcadm enable -r network/smb/client– zjištění vzdálených sdílení
● smbadm show-shares server– uložení hesel
● smbadm add-key [-u username]● /etc/pam.conf
– login auth optional pam_smbfs_login.so.1● připojení
– přímé● mount -F smbfs [-o user=username, domain=domain-name,gid=#,uid=#,noprompt,...] //server/share mount-point
– automounter/autofs
úložiště
NAS
SMB
34
Diskové pole s architekturou COMSTAR
● Common Multiprotocol SCSI Target– instalace pkg:/group/feature/storage-server– vytvoření zařízení pro diskové operace– stmfadm(1M),sbdadm(1M),itadm(1M)...– SCSI Target Mode Framework (STMF)
kernel
libstmf nástroje
logical unit APIstmf
port provider API
ZFS volume
passthroughsoubor
tenký soubor
SRP
iSCSIFibreChannel
FCoE
úložiště
SAN
35
Vytvoření diskuúložiště
SAN
● start služeb– svcadm enable stmf– stmfadm list-state
● zdrojový diskový prostor– diskový soubor
● mkfile size /fn● sbdadm create-lu /fn
– tenký diskový soubor● touch /fn● sbdadm create-lu -s #size /fn
– ZFS volume● zfs create -V #size pool/vol● sbdadm create-lu /dev/zvol/rdsk/pool/vol
– přímý export disku (passthrough)● sbdadm create-lu /dev/rdsk/c#t#d#s#
36
Zpřístupnění diskuúložiště
SAN
● omezení SCSI initator-target (lun masking)– bez omezení
● stmfadm add-view guid
– jen vybraným cílům● fcinfo hba-port● stmfadm create-hg INITIATORjmeno● stmfadm add-hg-member -g INITIATORjmeno wwn.WWNINITIATOR
● stmfadm list-target● stmfadm create-tg TARGETjmeno● stmfadm add-tg-member -g TARGETjmeno wwn.WWNTARGET
● stmfadm add-view -h INITIATORjmeno -t TARGETjmeno guid
37
Konfigurace přenosových protokolů
úložiště
SAN
● FibreChannel target– update_drv -d -i pci# qlc– update_drv -a -i pci# qlt
● FCoE target (802.3x, jumbo)– svcadm enable fcoe_target fcoe_initiator– fcadm create-fcoe-port -t -f ethdev
● SCSI RDMA Protocol target (SRP)– svcadm enable ibsrp/target– srptadm(1m)
38
Konfigurace přenosových protokolů
● iSCSI target– svcadm enable iscsi/target1)itadm create-target2)itadm modify-defaults --isns-server IPSNSitadm modify-defaults --isns enable
3)itadm create-tpg ibdname ipaddritadm create-target -t ibdname
● iSCSI initiator1)iscsiadm add static-config iqn.IQN,IPiscsiadm modify discovery -s enable
2)iscsiadm add isns-server IPSNSiscsiadm modify discovery -i enable
3)iscsiadm add discovery-address IPiscsiadm modify discovery -t enable
● iSNS server– svcadm enable isns_server– isnsadm(1m)
úložiště
SAN
Dotazy ?pro prezentaci byly použity inspirace z volně dostupných materiálů a prezentací, z dokumentace docs.oracle.com a dalších zdrojů mezi jinýmit10.org, blogs.oracle.com, openfabrics.org, infinibandta.org, hpcadvisorycouncil.com, zfsbuild.com, nexentastor.org, opensolaris.org,oss.oracle.com, mellanox.com, top500.org, wikipedia.org, ietf.org ...