Detta kapitel beskriver kända problem vid användning av Solaris på Sun Fire 6800/4810/4800/3800-system.
Detta avsnitt innehåller information om hur man använder Solaris.
Kommandot prtdiag är ett av de kommandon i Solaris som kan visa systemkonfigurationsparametrar. Den information som finns om detta kommando i Handbok för Sun-maskinvaruplattformar för denna Solaris-version stämmer inte. Använd följande korrigerade information i stället.
Solaris-kommandot prtdiag (1M) visar följande information om domänen på ett Sun Fire 6800/4810/4800/3800-system:
Konfiguration
Diagnostik
Total mängd minne (liknar kommandot prtconf)
DR (Dynamic reconfiguration) stöds i Solaris 8 2/02. Det här avsnittet tar upp kända problem med DR på Sun Fire 6800/4810/4800/3800-system i denna version.
Information om den inbyggda programvaran i systemstyrenheten, där DR-funktionerna finns, hittar du i Sun Fire 6800/4810/4800/3800 Systems Software Release Notes som medföljer version 5.12.6. Denna inbyggda programvara och den tillhörande dokumentationen ingår i SunSolve patch 112127-02, som finns på SunSolves webbplats (http://sunsolve.Sun.com).
Tilläggsinformationen för DR på Sun Fire 6800, 4810, 4800 och 3800 täcker följande områden:
Systemspecifikt DR-stöd på 6800-/4810-/4800-/3800-system visas av kommandot cfgadm. Systemkort tillhör klassen "sbd". cPCI-kort (CompactPCI-kort) anges som "pci". Om man använder DR med cfgadm som gränssnitt får man även se andra DR-klasser.
Mer information om systemspecifika problem med DR finns i "Kända buggar i DR".
Information om de klasser som är kopplade till anslutningspunkter får du genom att köra följande kommando som superanvändare:
# cfgadm -s "cols=ap_id:class" |
Dynamiska anslutningspunkter kan också visas om du använder kommandot cfgadm med växeln -a. För att avgöra klassen för en viss anslutningspunkt lägger du till punkten som argument till kommandot ovan.
Följande programvara stöder DR på ett Sun Fire-system: version 8 2/02 av Solaris och version 5.12.6 av systemets inbyggda programvara.
Dessutom kan du välja att installera Sun Management Center (SunMC). Se Sun Management Center 3.0 Supplement for Sun Fire 6800, 4810, 4800, and 3800 Systems för fullständiga instruktioner.
En uppgradering av den inbyggda programvaran i ett Sun Fire-system kan göras antingen via en FTP- eller HTTP-anslutning från en server för respektive protokoll där en avbildning av programvaran lagras. Se Sun Fire 6800/4810/4800/3800 Systems Platform Administration Manual för mer information.
Mer information om hur du gör för att installera patchen till den inbyggda programvaran finns i filerna README och Install.info som medföljer patchen.
Uppdatera inte den inbyggda programvaran för systemstyrenheten utan att även uppdatera programvaran för alla CPU-/minneskort och I/O-satser. Om olika versioner av den inbyggda programvaran används på olika komponenter är det möjligt att domänerna inte går att starta.
Konfigurera FTP- eller HTTP-servern.
Mer information finns i Appendix B i Sun Fire 6800/4810/4800/3800 Systems Platform Administration Manual (artikelnummer 805-7373-13).
Ladda ned version 5.12.6 av den inbyggda programvaran.
Denna inbyggda programvara och den tillhörande dokumentationen ingår i SunSolve-patchen 112127-02, som du kan ladda ned från SunSolves webbplats
http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/patch-access
Kopiera patchen till FTP- eller HTTP-servern genom att använda ett kommando som liknar det nedan:
# cp /patch_location/* /export/ftp/pub/5.12.6 |
Anslut till systemstyrenhetens konsol (serieport) för att övervaka systemet medan den inbyggda programvaran uppgraderas (i steg 6).
Prompten för systemstyrenheten är:
ssvärdnamn:SC> |
Stäng av alla domäner genom att stoppa Solaris på dem.
Nyckelbrytaren förblir i läget on på dessa domäner.
I varje domän du stangde av i steg 5 ändrar du nyckelbrytarens läge till standby:
ssvärdnamn:A> setkeyswitch standby |
Kontrollera att alla CPU-/minneskort och I/O-satser är påslagna genom att köra kommandot showboards på systemstyrenheten i plattformsskalet:
ssvärdnamn:SC> showboards |
Om något CPU-/minneskort eller någon I/O-sats inte är påslagen måste du använda kommandot poweron på systemstyrenheten i plattformsskalet för att slå på dessa komponenter:
ssvärdnamn:SC> poweron komponentnamn(en) |
Uppgradera den inbyggda programvaran genom att använda kommandot flashupdate på systemstyrenheten i plattformsskalet.
Du bör varken stänga av eller starta om systemet medan detta steg utförs.
Använd en kommandosyntax som följer URL-protokollet:
ssvärdnamn:SC> flashupdate -f URL all |
Kommandot flashupdate startar om systemstyrenheten och uppgraderar samtliga CPU-/minneskort och I/O-satser, scapp och RTOS.
Om du kör scapp 5.12.5 eller senare och RTOS 18 eller senare uppdaterar uppgraderaren scapp och RTOS endast om den avbildning som installeras skiljer sig från den redan installerade.
När systemstyrenheten har utfört en korrekt omstart ansluter du dig till varje domänkonsol och stänger av samtliga CPU-/minneskort och I/O-satser genom att sätta nyckelbrytarläget till off:
ssvärdnamn:A> setkeyswitch off |
Kontrollera att alla CPU-/minneskort och I/O-satser är avstängda genom att köra kommandot showboards på systemstyrenheten i plattformsskalet:
ssvärdnamn:SC> showboards |
Om något CPU-/minneskort eller någon I/O-sats inte är avstängd använder du kommandot poweroff på systemstyrenheten i plattformsskalet för att stänga av dem:
ssvärdnamn:SC> poweroff komponentnamn(en) |
Ta fram varje domän genom att ställa in nyckelbrytarläget till on:
ssvärdnamn:A> setkeyswitch on |
När alla domäner har tagits fram uppdaterar du säkerhetskopian av systemstyrenhetens konfiguration genom att använda kommandot dumpconfig:
ssvärdnamn:SC> dumpconfig -f URL |
där URL anger ftp-protokollet.
Det här avsnittet tar upp kända begränsningar i DR-programvaran för Sun Fire 6800, 4810, 4800 och 3800.
Om du lägger till ett systemkort i en domän utan att använda DR, t.ex. genom att köra kommandoradskommandot addboard för systemstyrenheten måste du köra kommandot setkeyswitch off och sedan setkeyswitch on för att ta fram kortet i systemet.
Denna version av DR-programvaran stöder inte Sun StorEdge Traffic Manager.
Innan du gör någon DR-operation med ett I/O-kort (IBx-kort) skriver du följande kommando för att stoppa bakgrundsprogrammet vold:
# sh /etc/init.d/volmgt stop |
När DR-operationen avslutats skriver du följande kommando för att starta om bakgrundsprogrammet vold:
# sh /etc/init.d/volmgt start |
På Sun Fire 6800, 4810, 4800 och 3800 stöder DR varken HIPPI/P, SAI/P (bugg 4466378) eller SunHSI/P-drivrutinen (bugg 4496362).
Du måste köra kommandot devfsadm(1M) för att se om det har gjorts några ändringar, speciellt vad gäller ändringar från PCI till cPCI.
Du skall varken starta om eller konfigurera om systemstyrenheten (SC) under DR-operationer. Gör inte heller någon flash-uppdatering som kräver omstart när den är slutförd.
Du kan avkonfigurera en cPCI-I/O-sats endast när alla instickskorten i kortet är okonfigurerade. Om något cPCI-kort är upptaget (exempelvis med ett inkopplat/aktivt gränssnitt eller en monterad disk), kommer avkonfigurerandet av kortet att misslyckas med status "busy" (upptagen). Alla cPCI-kort måste avkonfigureras innan du försöker avkonfigurera cPCI-I/O-satsen.
När en disk med flera vägar är ansluten till två olika cPCI-kort går det att se diskaktivitet över korten när det egentligen inte pågår någon. På grund av detta måste du kontrollera att ingen lokal aktivitet pågår med resursen. Det finns större risk för detta när man försöker utföra DR-operationer på ett cPCI-kort som anger att det är upptaget, trots att det inte pågår någon lokal aktivitet. Eventuellt måste du försöka utföra DR-operationen en gång till.
När användaren tar fram en lista med anslutningspunkter genom kommandot cfgadm(1M) med alternativet -a, anges både cPCI-kortplatser och PCI-bussar som anslutningspunkter. Kommandot cfgadm -a visar en anslutningspunkt för en PCI-buss som N0.IB8::pci0. Det finns fyra anslutningspunkter av denna typ för varje cPCI-hållarkort. Användaren skall varken utföra DR-operationer för dem eller på anslutningspunkten sghsc (som kommandot cfgadm -a kallar N0.IB8::sghsc4), eftersom DR egentligen inte används, och vissa interna resurser tas bort. Någon direkt skada av att göra detta är det däremot inte fråga om.
För att DR skall kunna fungera korrekt med cPCI-kort måste spakarna på alla cPCI-kort som är isatta när Solaris startas vara helt i fastlåsningsläge.
Plocka fram gruppnamn, testadress och gränssnittsindex genom att skriva följande kommando.
# ifconfig gränssnitt |
Exempel ifconfig hme0
Använd kommandot if_mpadm(1M) på följande sätt:
# if_mpadm -d gränssnitt |
Detta deaktiverar gränssnittet och gör att övergångsadresserna skiftar till ett annat aktivt gränssnitt i gruppen. Om denna övergång redan har skett, syftar detta steg endast till att ytterligare garantera att gränssnittet är deaktiverat.
(Valfritt) Koppla ur ("unplumb") gränssnittet.
Detta steg krävs bara om du vill använda DR för att konfigurera gränssnittet igen automatiskt senare.
Ta ur det fysiska gränssnittet.
Se man-sidan för cfgadm(1M) och Sun Fire 6800, 4810, 4800 and 3800 Systems Dynamic Reconfiguration User Guide för mer information.
Anslut det fysiska gränssnittet.
Se man-sidan för cfgadm(1M) och Sun Fire 6800, 4810, 4800 and 3800 Systems Dynamic Reconfiguration User Guide för mer information.
När du har anslutit det fysiska gränssnittet konfigureras det automatiskt med inställningarna i konfigurationsfilen hostname (/etc/hostname.gränssnitt, där gränssnitt är ett värde som t.ex. hme1 eller qfe2).
Detta får bakgrundsprogrammet in.mpathd att återuppta "probing" och upptäcka reparationer. Det gör även att in.mpathd får gränssnittet att återta de gamla IP-adresserna. Gränssnittet skall nu vara aktivt och klart att använda under IPMP.
Om gränssnittet inte hade kopplats ur och satts OFFLINE innan den föregående frånkopplingen kommer det här beskrivna inkopplandet inte att leda till en automatisk konfigurering. För att återställa gränssnittet till ONLINE och få det att återta sin IP-adress när den fysiska inkopplingen är klar anger du följande kommando: if_mpadm -r gränssnitt.
Det här avsnittet tar upp permanent minne, och kravet att pausa operativsystemet när ett systemkort med permanent minne avkonfigureras.
Ett enkelt sätt att avgöra om ett kort har permanent minne är att köra följande kommando som superanvändare:
# cfgadm -av | grep permanent |
Systemet svarar med en utmatning med ungefär följande utseende, där systemkort 0 (zero) beskrivs:
N0.SB0::memory connected configured ok base address 0x0, 4194304 KBytes total, 668072 KBytes permanent |
I det permanenta minnet lagras Solaris-kerneln och dess data. Kerneln kan inte släppas från minnet på samma sätt som användarprocesser som lagras i andra kort kan släppa minne genom att växlas ut till växlingsenheten. I stället använder cfgadm en teknik med kopiering och namnbyte för att släppa minnet.
Första steget vid kopiering/namnbyte är att stoppa all minnesaktivitet på systemet genom att pausa alla I/O-operationer och all trådaktivitet, vilket kallas paus. Under paus stannar systemet ofta fullständigt och svarar inte på några externa händelser, som exempelvis nätverkspaket. Två faktorer bestämmer pausens varaktighet: hur många I/O-enheter och trådar som måste stoppas, och hur mycket minne som skall kopieras. Oftast avgör antalet I/O-enheter hur länge pausen skall vara, eftersom I/O-enheterna måste stoppas och sedan startas igen. I allmänhet kan pausen vara längre än två minuter.
Eftersom pausen kan orsaka stor skada begär cfgadm en bekräftelse innan pausen inleds. Om du skriver:
# cfgadm -c unconfigure N0.SB0 |
ber systemet att du skall bekräfta valet:
System may be temporarily suspended, proceed (yes/no)? |
Om du använder SunMC för att utföra en DR-operation visas ett pop-up-fönster där frågan ställs.
Skriv yes för att bekräfta att den skada en paus kan göra är godtagbar, och för att fortsätta.
Det här avsnittet innehåller korta beskrivningar och Sun-bugg-ID-nummer för de viktigaste buggar som upptäcktes vid testandet av DR. Denna lista omfattar inte samtliga buggar.
Beskrivning: Om ett system kör processen cryptorand, som finns i paketet SUNWski, kommer en avkonfigurering av minne, exempelvis en del av en frånkoppling av ett CPU-/minneskort (systemkort, SB), att få cryptorand att stängas med meddelanden som sparas i /var/adm/messages. Detta gör att slumptalstjänsten inte kan säkra delsystem och det minne som finns när cryptorand startas skall inte avkonfigureras.
Processen cryptorand ger slumptal för /dev/random. När cryptorand startas avgör mängden minne i systemet hur lång tid det tar innan /dev/random blir tillgänglig. Tidsåtgången är ungefär två minuter per GB RAM. Program som använder /dev/random för att få slumptal kan tillfälligt blockeras. Det är inte nödvändigt att starta om cryptorand om ett CPU-/minneskort läggs till en domän.
Lösning: Om ett CPU-/minneskort tas bort från domänen måste du starta om tjänsten cryptorand genom att ange följande kommando som superanvändare:
# sh /etc/init.d/cryptorand start |
Beskrivning: Om ett systemkort med processorer tas ur systemet medan Solaris Bandwidth Manager (SBM) används kan detta resultera i panic.
Lösning: Installera inte SBM på system som kommer att användas för DR-test och gör inte DR-operationer för CPU-systemkort på system med SBM installerat.
Beskrivning: En DR-konfigureringsoperation med ett IBx-kort (ett I/O-kort) kan hänga sig efter ett antal lyckade operationer av denna typ. Denna situation uppkommer endast om DR-operationen utförs samtidigt som DMP-bakgrundsprogrammet med policyn check_all med tidsintervall.
Lösning: För att undvika "deadlocks" mellan DMP och DR för systemkortet anger du följande kommando innan du utför DR-operationerna. Kommandot stoppar och startar om DMP.
# /usr/sbin/vxdmpadm stop restore |
Beskrivning: När en SCSI-styrenhet är konfigurerad, men inte upptagen, kan den inte frånkopplas med DR-kommandot cfgadm(1M).
Lösning: Ingen.
Beskrivning: Om en flertrådad klient till biblioteket cfgadm gör flera sbd-anrop samtidigt kan systemet hänga sig.
Lösning: Ingen. För närvarande använder inga program biblioteket cfgadm i flera trådar.
Beskrivning: När flera DR-operationer pågår samtidigt, eller när psradm kör samtidigt som en DR-operation, kan systemet hänga sig p.g.a. ihoplåsning av två mutexes.
Lösning: Utför DR-operationerna en i taget, och låt dem gå klart innan du kör psradm, eller påbörjar en ny DR-operation.
Beskrivning: Ett bussfelmeddelande visas ibland på konsolen under SNMP-operationer av typen get på objektet cpuModDescr. Detta inträffar sällan, och bara när SunMC övervakar systemet. När meddelandet visas, returneras unknown till SunMC som värde för objektet cpuModDescr.
Lösning: Den enda lösningen är att inte använda SunMC. Meddelandet är dock inte direkt skadligt, och eftersom problemet är ovanligt kan man i princip bortse från det. Den enda egentliga risken är att GUI för SunMC någon enstaka gång visar ett felaktigt värde för cpuModDescr.
Ett Sun Fire-system kan ge panic-meddelanden om ett eller flera CPU-kort synkpausas under en DR-operation. Synkpaus behövs för att koppla in eller koppla från kort. Om det finns väntande mondo-interrupter och systemstyrenheten av någon anledning inte kan slutföra synkpausen inom den en sekund långa tidsgränsen send_mondo timeout resulterar detta i panic.