Friday, October 24, 2014

vDisk owned by Control Domain

VM disks becoming “owned by the Control Domain”.

You know: you tried to migrate a VM, move a disk, or take a snapshot and POW: you look on your SR to find that your VM’s disk is owned by “the control domain”.

1.  Why does this happen?
Basically it boils down to disk operations on/from a VM failing.  Operations such as move, copy, snapshot, export, etc.

2.  How do I get around it?
One answer is to reboot.
Another way is to find the link between your virtual disk and DOM0 (the control domain) from your stand-alone XenServer (or primary server if you have a pool).

Use  list_domains to get the UUID of DOM0 (the control domain):
[root@rightserver boot]# list_domains
id |                                                        uuid |  state
 0 | 09dffafe-5bec-430d-bc80-6ddb2313beff |     R
1 | 94c63c12-0851-708d-7f95-c011f2760649   |    RH
21 | a8f76fee-0b45-b5ee-7d83-14f6b530141f   |    B H
The control domain UUID is 09dffafe-5bec-430d-bc80-6ddb2313beff

Now we have to  find the VBD(s) that DOM0 (the control domain) owns:
xe vbd-list vm-uuid=<DOM0 UUID, such as 09dffafe-5bec-430d-bc80-6ddb2313beff id>

This will show information about any Virtual Block Device (VBD) that DOM0 (the control domain) may be hanging onto.  What we are interested in is the UUID of the VBD(s).

Grab the VBD’s UUID and execute:
xe vbd-unplug uuid=<UUID of the VBD being held by DOM0>

Finally, run:
xe vbd-destroy uuid=<UUID of the VBD being held by DOM0>



And there – rescan your storage repository and your VDI (virtual disk interface) should be free for your use.

Wednesday, July 30, 2014

Prevent users from auto-forwarding their email to an external domain


In Exchange Server 2007

Exchange Management Console | Hub Transport | Remote Domains | Default -> properties | Message Formats tab | "Allow Automatic Forward" - uncheck this.

Monday, July 28, 2014

XenApp 6.x terminology mapped to XenApp 7.x

XenApp 6
Instead of…
XenApp 7
Think of…
Independent Management Architecture (IMA)
FlexCast Management Architecture (FMA)
Farm
Delivery Site
Worker Group
Session Machine Catalog
Delivery Group
Worker
Virtual Delivery Agent
Server OS Machine
Desktop OS Machine
Zone and Data Collector
Delivery Controller
Delivery Services Console
Citrix Studio and Citrix Director
Publishing applications
Delivering applications
Data store
Database
Load Evaluator
Load Management Policy
Administrator
Delegated Administrator
Role
Scope


Send mail via telnet

1. Telnet mail.domain.com 25 (obviously replace mail.domain.com with whichever mail server you want to    use.)

2. helo your domain name

3. mail from:your email address

4. rcpt to:destination address

5. data

6. Type your message

7. . (type a period and hit enter)

Configure users for internal mail routing only

You should be able to use Transport Rules to do that. Make sure those groups are Distribution Groups (they can eventually be hidden from Address Lists).

To forbid sending E-mails outside of Exchange, create a rule:
  • if sender is member of group2
  • and message is sent outside the organization
  • then drop the message
  • and send NDR with status code (choose code and message)

To forbid receiving E-mails from the Internet:
  • either use the same principle (if user is member of group2 and sender is outside the organization, drop with a custom message
  • or in the delivery options for those users, only allow messages from authenticated users
  • you can make exceptions, for instance if you have custom applications sending messages directly to Exchange

For group3, then
  • create a rule that forbids sending to member of a distribution list when sender is member of group3
  • and send NDR etc

Link:
http://social.technet.microsoft.com/Forums/en-US/aeece703-a5b9-40ff-9ec1-e2977f7d6a56/how-to-configure-users-for-internal-mail-routing-only

Thursday, July 24, 2014

vLAN Tagged/Untagged

Assigning Ports to vLANs

Before enabling vLANs for the switch, you must first assign each port to the vLAN groups in which it will participate. By default, all ports are assigned to vLAN 1 as untagged ports. You should add a tagged port (a port attached to a vLAN-aware device) if you want it to carry traffic for one or more vLANs and the device at the other end of the link also supports vLANs. Assign the port at the other end of the link to the same vLANs. However, if you want a port on this switch to participate in one or more vLANs and the device at the other end of the link does not support vLANs, you must add an untagged port (a port attached to a vLAN-unaware device).
Port-based vLANs are tied to specific ports. The switch's forwarding determination is based on the destination MAC address and its associated port. Therefore, to make valid forwarding and flooding decisions, the switch learns the relationship of the MAC address to its related port (and to the vLAN) at run-time.


Think of it this way - untagged port is when you have an end device that doesn't know what tagging is, but you still need to assign it to a particular vLAN. Basically, you're telling the switch that "All traffic in from this port that doesn't explicitly have a tag will get tagged with this vLAN ID"

If your switches understand vLANs, then you would tag the ports between them. You tell the switch that traffic with these vLAN tags is allowed to pass.

For inter vLAN routing you need to either go through your router, or enable routing in your switches. You need to explicitly allow this, otherwise you can't reach one vLAN from another

"Trunk" ports are those between switches or a switch and a device like an access point or firewall, where you could need more than one vLAN to pass.

Cisco Router Interface Status

The first line of the show interface command is the most important one. The first parameter refers to the physical layer, therefore in this case FastEthernet 0 is up and operating. The second part of the line refers to the Data Link Layer; therefore here line protocol is up means that we have layer 2 connectivity as well.

There are four possible outputs that you may come across:

FastEthernet0 is up, line protocol is up: Both the Physical and Data Link layers on the interface are functioning correctly.
FastEthernet0 is down, line protocol is down: This output indicates a physical interface problem. For example, the cable on this interface or on the remote interface is disconnected.
FastEthernet0 is up, line protocol is down: In this case, Physical layer is operational. The line protocol being down indicates a clocking or framing problem. Probable reasons for this are encapsulation and clock rate mismatches.
Ethernet0 is administratively down, line protocol is down: This output indicates that a local interface has been manually shut down using the shutdown command.

===============================================================================================================
#1: The "?"

It may seem entirely too obvious that you should know how to type ? to ask for help when using the Cisco IOS. However, the Cisco IOS is completely different from other operating systems when it comes to using the question mark (help key). As the IOS is a command-line operating system with thousands of possible commands and parameters, using the ? can save your day.

You can use the command in many ways. First, use it when you don't know what command to type. For example, type ? at the command line for a list of all possible commands. You can also use ? when don't know what a command's next parameter should be. For example, you might type show ip ? If the router requires no other parameters for the command, the router will offer CR as the only option. Finally, use ? to see all commands that start with a particular letter. For example, show c? will return a list of commands that start with the letter c.

#2: show running-configuration

The show running-config command shows the router, switch, or firewall's current configuration. The running-configuration is the config that is in the router's memory. You change this config when you makes changes to the router. Keep in mind that that config is not saved until you do a copy running-configuration startup-configuration. This command can be abbreviated sh run.

#3: copy running-configuration startup-configuration

This command will save the configuration that is currently being modified (in RAM), also known as the running-configuration, to the nonvolatile RAM (NVRAM). If the power is lost, the NVRAM will preserve this configuration. In other words, if you edit the router's configuration, don't use this command and reboot the router--those changes will be lost. This command can be abbreviated copy run start. The copy command can also be used to copy the running or startup configuration from the router to a TFTP server in case something happens to the router.

#4: show interface

The show interface command displays the status of the router's interfaces. Among other things, this output provides the following:

Interface status (up/down)
Protocol status on the interface<
Utilization
Errors
MTU
This command is essential for troubleshooting a router or switch. It can also be used by specifying a certain interface, like shint fa0/0.

#5: show ip interface

Even more popular than show interface are show ip interface and show ip interface brief. The show ip interface command provides tons of useful information about the configuration and status of the IP protocol and its services, on all interfaces. The show ip interface brief command provides a quick status of the interfaces on the router, including their IP address, Layer 2 status, and Layer 3 status.

#6: config terminal, enable, interface, and router

Cisco routers have different modes where only certain things can be shown or certain things can be changed. Being able to move between these modes is critical to successfully configuring the router.

For example, when logging in, you start off at the user mode (where the prompt looks like >). From there, you type enable to move to privileged mode (where the prompt looks like #). In privileged mode, you can show anything but not make changes. Next, type config terminal (or config t) to go to global configuration mode (where the prompt looks like router(config)# ). From here, you can change global parameters. To change a parameter on an interface (like the IP address), go to interface configuration mode with the interface command (where the prompt looks like router(config-if)#). Also from the global configuration mode, you can go into router configuration using the router {protocol} command. To exit from a mode, type exit.

#7: no shutdown

The no shutdown command enables an interface (brings it up). This command must be used in interface configuration mode. It is useful for new interfaces and for troubleshooting. When you're having trouble with an interface, you may want to try a shut and no shut. Of course, to bring the interface down, reverse the command and just say shutdown. This command can be abbreviated no shut.

#8: show ip route

The show ip route command is used to show the router's routing table. This is the list of all networks that the router can reach, their metric (the router's preference for them), and how to get there. This command can be abbreviated shipro and can have parameters after it, like shiproospf for all OSPF routers. To clear the routing table of all routes, you do clear ip route *. To clear it of just one route, do clear ip route 1.1.1.1 for clearing out that particular network.

#9: show version

The show version command gives you the router's configuration register (essentially, the router's firmware settings for booting up), the last time the router was booted, the version of the IOS, the name of the IOS file, the model of the router, and the router's amount of RAM and Flash. This command can be abbreviated shver.

#10: debug

The debug command has many options and does not work by itself. It provides detailed debugging output on a certain application, protocol, or service. For example, debug ip route will tell you every time a router is added to or removed from the router.

Cisco Router ACL

Add an ACL to an existing extended access list
http://sysadminnotebook.blogspot.com/2011/07/creating-and-editing-cisco-extended.html

show ip access-list

show ip access-list <name of access list>

Example:
config t
ip access-list extended branch_repeater
70 permit ip 192.168.210.0 0.0.0.255 10.0.0.0 0.0.255.255

EqualLogic Delegated Space

Best way to get a good calculation as to how much delegated space to reserve is to add up the amount of space displayed in the location <Replication button > Outbound Replicas>

Once this amount of space is added up then you can determine if you have too much delegated space configured.

So for example if I add up my volume replica reserve and it totals 45Tb and I currently have 48Tb configured I can proably split the difference and reduce the amount of delegated space by 1.5Tb.

Also, it is recommended to keep a minimum of 10% of disk space free to allow for background operations.

XenServer CLI Commands

xe help –all|more 
Show a list of XenServer CLI commands

xsconsole 
Runs up the XenServer text based console

xe-toolstack-restart 
Restarts the XenServer management tools

ls –l 
List files in a Directory

less /var/log/dmesg 
Display Boot Messages from Linux

xe host-dmesg 
Xen Hypervisor Boot messages

tail –f /var/log/xensource.log 
Look at xapi messages as they happen

tail –f /var/log/xensource.log | grep xxx
Look at xapi messages only for vm uuid xxx

tail –f [log name] > [target filename]
Send output to a file for analysis later

cat /etc/xensource-inventory
Display XenSource Inventory info

xen-bugtool –yes 
Build a status report when xapi is down

xe-backup-metadata -d –u [uuid of SR] 
Back up Pool metadata for all VMs

tcpdump –i [inf] –vvv –w [filename]
Get a Packet trace from [inf]. E.g. Inf=eth0, xenbr0, vif2.0 etc.

top
List the top processes running in Dom0

date
Check date and time

xentop
List top Xen processes

mpstat 5
Processor stats in Dom0

vmstat 2
Virtual memory in Dom0

netstat –s
Networking statistics

iostat -d 2 6 
Storage traffic stats

Info on iostat output http://linux.die.net/man/1/iostat

list_domains 
Lists VMs that are running

fdisk –l
List the disk partitions

hdparm –t /dev/sda3
Device read times for sda3 (normally local SR)

pvs
Show local and remote LVHD SRs

ll /dev/disks/by-id
Look at disk partitions

lvs 
List logical volumes (virtual disks)

vgs
List LVM volume groups

cd /var/run/sr-mount
Look at NFS SRs

df -h
Shows how much disk space you have left

dd if=/dev/sdb of=/dev/null iflag=direct bs=1M count=512
Read data performance from sdb.

dd if=/dev/zero of=/dev/sdb oflag=direct bs=1M count=4096
Write performance on sdb. * Don’t use on disks with VMs on them!

ifconfig 
Show info on NICs, virtual switches and vNICs

brctl show
Show info on virtual switches

ethtool eth0
Info for NIC eth0

mii-tool 
Info on NIC bonding

iscsiadm -m discovery –type sendtargets –p 192.168.190.10:3260
Discover iSCSI targets available to this server

iscsiadm –m session
Open iscsi sessions

iscsiadm -m node --login
Log into iscsi sessions

history
Lists the history of commands you’ve used

!136 
Executes command #136 in the history

history -w history-list.txt 
Writes the history info to a text file

Open vSwitch Useful Commands

Determine if XenServer is using 'Bridge' mode  or 'vSwitch' mode for the network stack

xe-get-network-backend

Show flow statistics for openvswitch
ovs-dpctl show

The following command creates a detailed list about currently active flows, and can be
useful to verify the types of traffic the OvS sees:

ovs-dpctl dump-flows <bridgename> 

Switch between Linux bridge and vSwitch
xe-switch-network-backend bridge 
xe-switch-network-backend openvswitch

Version of openvswitch
ovs-ofctl -V

Dump Flows
ocs-dpctl dump-flows <interface> 
For example:  ocs-dpctl dump-flows xenbr4

Monday, May 19, 2014

Citrix XenServer Error: VDI is not Available


The first thing to be done is to check and see if the disk is still attached to the VM in question. If so Detach the disk.

If the server has multiple disks run the following command and see if the error in the output of the command gives you information about which disk if giving the error:

xe vm-start vm=<Name of VM>

For Example:
[root@fsxensvr32 ~]# xe vm-start vm=FvABTFDM01
Error code: SR_BACKEND_FAILURE_46
Error parameters: , The VDI is not available [opterr=VDI 966cb0e6-c303-4c80-84ee-43513cd937be not detached cleanly],

As you can see from the example above the error gave you the UUID of the disk associated with the VM that is causing the issue. Based on this informaton you now know which disk to use when executing the procedures in this document.


Find the UUID of the VDI in question

xe vdi-list


You need to obtain the UUID of the VDI and not the UUID of the VM

For Example:
                       uuid ( RO)  : b69d4862-4080-416b-9f77-496474510c15
            name-label ( RW): vdi_xvda
name-description ( RW): XenAppPoolWLB

You can see that the UUID: b69d4862-4080-416b-9f77-496474510c15 is associated with VM XenAppPoolWLB.

Once you have the UUID run the following command:

xe vdi-forget uuid=<VDI UUID we found in step 1>

This is going to remove the VDI from the VM so we can reattach it correctly.  So drive order does matter, you don’t want to switch an OS VDI with a data VDI.

After the above command is executed open XenCenter and navigate to the SR with your VDI.  Hit rescan

Now go to your VM with issues and select the ‘Storage’ tab and click ‘Attach Disk’, and locate the disk to add for your VM

Boot your VM






Thursday, May 8, 2014

Unable to start VM Error Message: This operation cannot be performed because a VDI is in use by some other operation

I needed to see which VM had the VDI in use so I executed the following command. This command will give me a list of the UUID's associated with the VM LBFDM01. I will focus on the C:\ drive.

[root@fsxensvr20 ~]# xe vdi-list name-label=LBFDM01
uuid ( RO)                : bb53e15c-7312-48dc-a736-ce5b9935b145
          name-label ( RW): LBFDM01
    name-description ( RW): LBFDM01 Data
             sr-uuid ( RO): 66f24970-843f-0b80-9400-404585e64f42
        virtual-size ( RO): 214748364800
            sharable ( RO): false
           read-only ( RO): false


uuid ( RO)                : f1b8ed87-f6c4-4aa5-a996-bf9db2ef4be8
          name-label ( RW): LBFDM01
    name-description ( RW): LBFDM01 Data
             sr-uuid ( RO): 66f24970-843f-0b80-9400-404585e64f42
        virtual-size ( RO): 214748364800
            sharable ( RO): false
           read-only ( RO): false


===================


uuid ( RO)                : 7ead0b63-1bf4-48d4-bd2d-c52f739cfec5
          name-label ( RW): LBFDM01
    name-description ( RW): LBFDM01 C:\drive
             sr-uuid ( RO): 66f24970-843f-0b80-9400-404585e64f42
        virtual-size ( RO): 53687091200
            sharable ( RO): false
           read-only ( RO): false


uuid ( RO)                : 86488985-ece7-412c-8b31-ef2f210872d5
          name-label ( RW): LBFDM01
    name-description ( RW): LBFDM01 C:\drive
             sr-uuid ( RO): 66f24970-843f-0b80-9400-404585e64f42
        virtual-size ( RO): 53687091200
            sharable ( RO): false
           read-only ( RO): false


==========================

I then needed to associate which VM is associated with which VDI. So I ran the following command

==========================


[root@fsxensvr20 ~]# xe vbd-list vdi-uuid=7ead0b63-1bf4-48d4-bd2d-c52f739cfec5 params=vm-uuid

Basically says that this disk c52f739cfec5 is associated with these (2) VMs


vm-uuid ( RO)    : 505ebabd-9edb-2cd3-dc2c-08721ee74c7a


vm-uuid ( RO)    : de6e9d15-6d8d-d0a8-4ce8-aee90f1dd6ca



====================================

Once I new the VM UUID associated with the VDI I then ran the following command to determine the power-state on the VM

====================================



[root@fsxensvr20 ~]# xe vm-list uuid=505ebabd-9edb-2cd3-dc2c-08721ee74c7a
uuid ( RO)           : 505ebabd-9edb-2cd3-dc2c-08721ee74c7a
     name-label ( RW): Transfer VM for VDI 7ead0b63-1bf4-48d4-bd2d-c52f739cfec5
    power-state ( RO): running


[root@fsxensvr20 ~]# xe vm-list uuid=de6e9d15-6d8d-d0a8-4ce8-aee90f1dd6ca
uuid ( RO)           : de6e9d15-6d8d-d0a8-4ce8-aee90f1dd6ca
     name-label ( RW): LBFDM01
    power-state ( RO): halted

=======================================

As you can see the Transfer VM is still in a running state which is causing the initial error message of the VDI being in use. I ran the following command to shutdown the Transfer VM

=======================================

[root@fsxensvr20 ~]# xe vm-shutdown uuid=505ebabd-9edb-2cd3-dc2c-08721ee74c7a

Once this was done I was able to start the VM LBFDM01


Wednesday, February 26, 2014

XenServer Commands

Below is a compilation of XenServer commands that I use and reference on a frequent basis.

VMs

Status of VM
xe vm-list name-label=<Name of VM>

Shutdown VM
xe vm-shutdown vm="Name of VM" 

List of VMs and their UUID
xe vm-list

Obtain the UUID of a particular VM
xe vm-list name-label=<Name of VM> (Name of VM is case sensitive)

Start VM from command line
xe vm-start vm=<name of vm>

Reboot VM from command line
xe vm-reboot name-label=<name of vm>

Resume VM from suspended mode
xe vm-resume vm=<name of VM>

When VMs have disappeared due to a failed XenServer host member
xe vm-reset-powerstate --force –multiple
xe vm-reset-powerstate  name-label=<name of machine>

Check power-state status of virtual machine
xe vm-list name-label=<name of virtual machine>


Host

List of XenServer hosts along with their UUIDs
xe host-list

Check disk space on XenServer host
df –h

Review memory settings
free -m

Remove host from pool using command line
xe pool-eject host-uuid= <UUID of Host>

Emergency Master Server Failure Recovery
xe host-emergency-ha-disable force=true
xe pool-emergency-transition-to-master
pool-designate-new-master host-uuid=<UUID of member XenServer host to become newmaster>
cat /etc/xensource/pool.conf to reflect the name of the new master.
Restarted XAPI service and it back to the pool.

Check if XenServer is a Pool Master
cat /etc/xensource/pool.conf
Output says “master” , slaves output “slave:<master host IP>”

Cancel XenServer Tasks
xe task-list
xe task-cancel uuid=<task uuid>

Identify VMs with an ISO loaded in CD tray
xe vm-cd-list --multiple

List of VMs on a particular XenServer host
xe vm-param-list uuid=<UUID of VM>

or

xe vm-list params name-label=ICORB01

To identify the XenServer host look for the field
resident-on ( RO): <UUID of XenServer Host>

xe host-list UUID=<UUID of XenServer Host>


Sending Host log messages to a central server

To write logs to a remote server


1. Set the syslog_destination parameter to the hostname or IP address of the remote server where you want the logs to be written:
xe host-param-set uuid=<xenserver_host_uuid> logging:syslog_destination=<hostname>


2. Issue the command:
xe host-syslog-reconfigure uuid=<xenserver_host_uuid>


Note: You can also execute this command remotely by specifying the host parameter.



VDIs

List of VDIs on a VM with descriptions and UUIDs
xe vdi-list name-label=<name of VM> params=name-description,uuid

Obtain the VDI UUID of a particular VM
xe-vdi-list name-label=<Name of VM> 

NOTE: If this does not work you must use the name of the actual storage drive connected to the VM (Name is case sensitive)

xe-vdi-list uuid=<UUID of vdi associated with the VM>

Delete VDI
xe vdi-destroy uuid=<UUID of VDI>

You can identify orphaned VDIs by checking the VBD connections for a VDI. If no VBD connections exist than the VDI is not connected to any VM.

Identify VBD connections for a VDI
xe vbd-list vdi-uuid=<UUID of VDI>

*VBD (virtual block devices) represent the mapping between VDIs and VMs. PBDs represent the interface between the physical server and the SR (storage repository)


Command to identify excessive tree of cloned VHDs
vhd-util scan -f -m “VHD-*” -l VG_XenStorage-<UUID of SR> -p


Pool

xe pool-sync-database (run on pool master)

Force the pool database to be synchronized across all hosts in the resource pool. This is not necessary in normal operations since the database is regularly automatically replicated, but can be useful for ensuring changes are rapidly replicated after performing a significant set of CLI operations.

Enable HA
xe pool-ha-enable

Disable HA
xe pool-ha-disable

Designate a new pool master


To change the pool master run the following command:


First disable high availability:
·         xe pool-ha-disable

Now list your XenServer hosts:
·         xe host-list

Using the list above, designate a new pool master by supplying the uuid associated with the desired host:
·         xe pool-designate-new-master host-uuid=<UUID of member XenServer host to become new master>

You’ll probably lose connection to the pool at this point, but that’s normal behavior. Once XenCenter reconnects (this should happen automatically), it’s safe to re-enable high availability:
·         xe pool-ha-enable

Backup Existing Pool State
·         Use PuTTY to connect to the pool master and run the following command
·         xe pool-dump-database file-name=pooldump
·         Use WinSCP to connect to the host and extract the pooldump file


Pool Failures (This info was taken from the XenServer 6.1 Admin Guide)

In the event that your entire resource pool fails, you will need to recreate the pool database from scratch. Be sure to regularly back up your pool-metadata using the xe pool-dump-database CLI command

To restore a completely failed pool

1.       Install a fresh set of hosts. Do not pool them up at this point.
2.       For the host nominated as the master, restore the pool database from your backup using the xe pool-restore database command.
3.       Connect to the master host using XenCenter and ensure that all your shared storage and VMs are available again.

4.       Perform a pool join operation on the remaining freshly installed member hosts, and start up your VMs on the appropriate hosts.


Replacing a failed master with a still running member

If the master is really dead, choose one of the members and run the command
xe pool-emergency-transition-to-master

Once it has become the master, run the command below and the members will now point to the new master

xe pool-recover-slaves


SR

Find UUID of Storage Repository (SR)
xe sr-list

Scan SR
xe sr-scan uuid=<uuid of sr>

Listing of VDI's on SR
xe vdi-list sr-uuid=<UUID of SR>

How to Remove a Storage Repository from XenServer



Logs

View High Availability log file on XenServer. Can use this command to view any log file
tail -f /var/log/xha.log


Snapshots

View a list of snapshots
xe snapshot-list

Use this to identify which vdi is not the snapshot when looking up VMs with VDIs with snapshots
xe vdi-list name-label=<name of vdi> params=all


NOTE: field <is-a-snapshot> will be true if it is a snapshot and false if it is not a snapshot


List of VDIs that have snapshots
xe vdi-list is-a-snapshot=true

Common

Cycle xapi service
xe-toolstack-restart 

List Networks and Attributes
xe network-list

XAPI stack
service xapi status
service xapi restart
xe-toolstack-restart

If it hangs at “Stopping xapi” or “Starting xapi”, you may need to kill the process.

To identify the process ID (PID)
Type: top

To kill the process
Type:  kill <pid>

Network connectivity utilities

Ethtool
Check statistics for eth0
Ethtool –S eth0

Ifconfig

Check time
Ntptime