Quantcast
Channel: Hyper-V forum
Viewing all 8743 articles
Browse latest View live

Storage migration not possible after removing shared vhdx

$
0
0
I have two VM:s in VMM that I use for tests. Just completed a test of shared storage and removed the shared disks from WSFC in the cluster and then after shutting down the nodes I removed the disks from the VM:s using powershell. Now when I try to storage migrate the VM:s (that no longer have any shared storage, HasSharedStorage = false) it says "The specified path is not a valid folder path on <host>". VMM 2012 R2 UR5. Other VM's migrate fine - just the two that had shared storage that doesn't

Virtual disk layout for fault tolerance / best VM performance

$
0
0

I can't seem to find anything definitive, when it comes to fault tolerance and best performance considerations for VM storage kept on SMB 3.0 shares within a clustered storage space setup. Most things I've read suggest a 2-way mirror layout for the initial virtual disk that will be used to hold the shares.

I'd feel a lot more comfortable baking in a 3-way mirror to further resiliency across my disk array, but I'm wondering what a good approach would be, following what I've read about using a 2-way mirror. 

Our planned setup will be using 2 physical nodes connected to a JBOD, with SoFS clustering and mirrored storage spaces.

Many thanks.

Adding Hyper-V features to Windows Server 2012

$
0
0

I have already set up a virtual machine with Windows server 2012, when I try to add Hyper-V features it prompts error:

Hyper-V cannot be installed: The processor does not have required visualization capability.

The VM properties is:

Memory 1GB

Processor 2

Thanks to help me on this,

Zara

Error (2903) During initial replication.

$
0
0

During the testing stages of my Hyper V replication, I used 2 minor VMs for testing. Both had many failed attempts as I worked out the bugs with no small amount of help from the TechNet community. I now have good, solid replication occurring between my VMs at the primary site and the secondary. However, the two that I used as lab rats are less than happy to do an initial replication. I noticed in VMM that one of them is referencing a volume (Volume 3) that doesn't exist anymore. I have removed replication. Why does this VM still look for this volume? I have attempted replication with the broker set to a current volume without success. Is there a way to fix this without deleting and rebuilding the VM?

Error (2903)
VMM could not locate the specified file/folder C:\ClusterStorage\Volume3\HYPER-V REPLICA\VIRTUAL HARD DISKS\A0E9639C-ADF6-432C-B660-81C2D074428C on the drhost3.xxxx.xxxxxx.biz server. This file/folder might be required as part of another object.
The system cannot find the file specified (0x80070002)

Recommended Action
Ensure that you have specified a valid path parameter, and that all necessary files/folders are present. Try the operation again.

Thank you

Brian Gilmore Lead IT Technician Don-Nan Pump & Supply



VM replication setup fails 0x80070032

$
0
0

I am attempting to setup replication between two 2012 R2 hosts. When I enable replication I receive an error message:

Hyper-v failed to perform reverse replication

Hyper-v failed to perform reverse replication for 'vm name': The request is not supported, (0x80070032)

I have tried a new replication and replication to a restored replica VM.  I created a small test VM and was able to replicate it fine between the hosts.

I was trying to replicate to a drive with only 16.5 GB free after the restored VM and thought space might be an issue.  I moved the restored VM to a drive with 100 GB free.  I also checked and the source host has 134 GB free on the drive that has the VM.

Any help is appreciated.


Mark

Copy between host and guest

$
0
0

I'm a student at a Uni and I'm currently learning the basics about Windows Server Domain Controllers.

One of the assignments required us to use a excel spreadsheet file to setup users in the domain, I tried copying this file from my host to the virtual machine but I couldn't do this(I also tried drag and drop).

Additionally I can't copy text trough the clipboard in and out of the VM. (the only options that work are the ones from the clipboard menu item; type clipboard text and capture screen)
My teacher told me this should be possible by enabling the integration services, but I had already done so.


Both the VM and the host system run on Windows Server 2012 R2 with the latest updates.
My teacher didn't know why I couldn't do this since according to him it should be possible with Hyper-V on server 2012 R2.

I should mention that I was connected trough remote desktop with the host system(which is a server at OVH), I was able to copy and paste trough the RDP session between my client and the host, but not to the VM's.

2.

I believe the virtual machine connection also uses the RDP protcol, so I'd like to know if its possible to connect to the virtual machine directly trough RDP (without having the virtual machine attached to the internet)

3.

I saw that there are some settings in the device manager for the network adapter, but I couldn't find out what forwarding optimization is supposed to do and I was also wondering if this setting can be configured on a Linux virtual machine (and if there are any other network optimization settings for Linux, which I can configure)

Startup Generation 2 Virtual Machine takes longer than Generation 1 when running 4 or more guests

$
0
0

I've noticed that my generation 2 virtual machines take longer than my generation 1 virtual machines to startup.
The virtual machine will sit at 10% starting up for about 20 seconds, before the OS starts booting.

I have a generation 1 virtual machine on Linux which only takes 1-5 seconds to get past this part, but all my generation 2 machines on Linux and Windows Server 2012 R2 take much longer to startupwhen there are 4 or more machines running. The generation 1 virtual machine also takes a little longer to startup but the delay is not as bad as with the generation 2 VM's.

I have adequate resources on the system: 2X 240GB Intel SSD's in software raid, 32GB DDR3 1866MHz ram and an Intel Xeon E5-1620V2
The running virtual machines are all idling at 0-1% cpu usage. and the total CPU and Memory usage is below 50%

What I did notice is that VMWP.exe has a high cpu usage while its doing this, the cpu usage is 12%

Creating Hyperv VM from Remote pc (Windows 8.1)

$
0
0

Hi,

If I run the following cmd directly on the HyperV server, The VM is getting created.

But I want to run this cmd from my Win8 client so that I can create VM remotely from my Windows 8 pc.

Please let me knw the correct cmd.

$p = @{
        Computername = 'HypervSRV'
        Name = "windows8"
        Path = "\\HYPERVSRV\VMs\VM1"
        NewVHDPath = "\\HYPERVSRV\VMs\VM1\windows8.vhdx"
        MemoryStartupBytes = 1GB
        NewVHDSizeBytes = 20GB
        SwitchName = "vswitch"
    }
    New-VM @p -ErrorVariable err -ea 0
    if ($err)
    {
        [System.Windows.Forms.MessageBox]::Show($_)
    }

Thanks,
Shamir


BSoD occurred when port mirroring was enabled

$
0
0

I ran into BSoD when I enabled Port Mirroring at vswitch that enabled MS forwarding extension sample.
Is there any fix for this issue?

Environment


+--------------------------+ | WS2012 R2 Datacenter | | | | +-----+ +-------+ | | | VM1 | | VM2 | | | +--+--+ +-+---+-+ | | |P1 |P2 |P3 | | | | | | | +--+-------------+---+-+ | | | CorpNet | | | +----------------------+ |+--------------------------+

    • OS : Windows Server 2012 R2 Datacenter (November 2014 update)
    • Hyper-V (Version : 6.3.9600.16384)
    • Windows Driver Kit (WDK) 8.1
    • VM1 : Red Hat Enterprise Linux 6
    • VM2 : Red Hat Enterprise Linux 6
    • CorpNet(vswitch)

Steps to reproduce

  1. Install msforwardext.sys
        netcfg.exe -l msforwardext.inf -c s -i MS_forwardext
  2. Install mof
        net stop vmms
        mofcomp -N:root\virtualization\v2 .\MSForwardExtPolicy.mof
        mofcomp -N:root\virtualization\v2 .\MSForwardExtPolicyStatus.mof
        net start vmms
  3. Enable the sample for forwarding extension on CorpNet(vswitch)
  4. Apply policy
        .\setRoute.ps1
  5. Configure port mirroring
        On Network Adapter->Advanced Features->Port mirroring->Mirroring mode:
        * P1(VMNIC1) : Mirroring Mode = Source
        * P2(VMNIC2) : Mirroring Mode = Destination
        * P3(VMNIC3) : Mirroring Mode = None
  6. Do ping from P1(VMNIC1) to P3(VMNIC3)

Expected behavior
The packets from P1(VMNIC1) are shown on both of P2(VMNIC2) / P3(VMNIC3)

Actual behavior
BSoD occurred on vmswitch.sys.

kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high.  This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 0000000000000000, memory referenced
Arg2: 0000000000000002, IRQL
Arg3: 0000000000000000, value 0 = read operation, 1 = write operation
Arg4: fffff801632cf939, address which referenced memory

Debugging Details:
------------------


READ_ADDRESS: unable to get nt!MmNonPagedPoolStart
unable to get nt!MmSizeOfNonPagedPoolInBytes
 0000000000000000

CURRENT_IRQL:  2

FAULTING_IP:
vmswitch!VmsExtMpSendNetBufferLists+1a2c9
fffff801`632cf939 488b1b          mov     rbx,qword ptr [rbx]

DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT

BUGCHECK_STR:  AV

PROCESS_NAME:  System

ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) amd64fre

DPC_STACK_BASE:  FFFFF803FBAFAFB0

TRAP_FRAME:  fffff803fbaf3000 -- (.trap 0xfffff803fbaf3000)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=ffffe001e9ad9250 rbx=0000000000000000 rcx=0000000000000001
rdx=ffffe001e9ad92e8 rsi=0000000000000000 rdi=0000000000000000
rip=fffff801632cf939 rsp=fffff803fbaf3190 rbp=fffff803fbaf3290
 r8=ffffe001e9ad9030  r9=0000000000000000 r10=0000000000000000
r11=ffffe001e9230210 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
vmswitch!VmsExtMpSendNetBufferLists+0x1a2c9:
fffff801`632cf939 488b1b          mov     rbx,qword ptr [rbx] ds:00000000`00000000=????????????????
Resetting default scope

LAST_CONTROL_TRANSFER:  from fffff803fa36d4e9 to fffff803fa3619a0

STACK_TEXT:
fffff803`fbaf2eb8 fffff803`fa36d4e9 : 00000000`0000000a 00000000`00000000 00000000`00000002 00000000`00000000 : nt!KeBugCheckEx
fffff803`fbaf2ec0 fffff803`fa36bd3a : 00000000`00000000 00000000`00000000 fffff803`fbaf3000 1500666b`00000000 : nt!KiBugCheckDispatch+0x69
fffff803`fbaf3000 fffff801`632cf939 : ffffe001`e9ad9030 fffff803`fbaf3290 ffffe001`e7df9000 fffff803`fbaf32a0 : nt!KiPageFault+0x23a
fffff803`fbaf3190 fffff801`6205df81 : ffffe001`e7df9000 ffffe001`e9ad9000 00000000`00000000 fffff803`00000031 : vmswitch!VmsExtMpSendNetBufferLists+0x1a2c9
fffff803`fbaf3320 fffff801`632bb347 : ffffe001`e8314c10 ffffe001`e9ad9030 ffffe001`00000000 00000000`00000000 : NDIS!NdisSendNetBufferLists+0x551
fffff803`fbaf3510 fffff801`632ba3f7 : ffffe001`e9ad9000 ffffe001`e9ad9030 ffffe001`e9596000 ffffe001`e9596000 : vmswitch!VmsExtPtRouteNetBufferLists+0x377
fffff803`fbaf35e0 fffff801`632ba128 : ffffe001`e97e5b00 fffff803`fbaf3790 ffffe001`00000000 ffffe001`e900ff02 : vmswitch!VmsVmNicPvtRndisDeviceSendPackets+0x187
fffff803`fbaf3690 fffff801`6242c1e0 : 00000000`00000003 ffffe001`e9af0102 00000000`00000024 00000000`00000062 : vmswitch!VmsVmNicPvtKmclProcessingComplete+0x4b8
fffff803`fbaf37c0 fffff801`62403e3d : 00000000`00000000 ffffe001`e959b6c0 0020f59f`583ad6ad 00000000`00000000 : vmbkmclr!KmclpVmbusIsr+0x290
fffff803`fbaf3840 fffff803`fa2dbcd0 : fffff803`fbaf3990 ffffe001`e7d91e80 fffff803`fa514180 00000000`00000000 : vmbusr!ParentRingInterruptDpc+0x5d
fffff803`fbaf3890 fffff803`fa2daf87 : ffffe001`ea083080 00000000`002b3682 fffff803`fa514180 fffff803`fa514180 : nt!KiExecuteAllDpcs+0x1b0
fffff803`fbaf39e0 fffff803`fa3654ea : fffff803`fa514180 fffff803`fa514180 fffff803`fa56da00 ffffe001`e928e080 : nt!KiRetireDpcList+0xd7
fffff803`fbaf3c60 00000000`00000000 : fffff803`fbaf4000 fffff803`fbaee000 00000000`00000000 00000000`00000000 : nt!KiIdleLoop+0x5a


STACK_COMMAND:  kb

FOLLOWUP_IP:
vmswitch!VmsExtMpSendNetBufferLists+1a2c9
fffff801`632cf939 488b1b          mov     rbx,qword ptr [rbx]

SYMBOL_STACK_INDEX:  3

SYMBOL_NAME:  vmswitch!VmsExtMpSendNetBufferLists+1a2c9

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: vmswitch

IMAGE_NAME:  vmswitch.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  5434e87f

BUCKET_ID_FUNC_OFFSET:  1a2c9

FAILURE_BUCKET_ID:  AV_vmswitch!VmsExtMpSendNetBufferLists

BUCKET_ID:  AV_vmswitch!VmsExtMpSendNetBufferLists

ANALYSIS_SOURCE:  KM

FAILURE_ID_HASH_STRING:  km:av_vmswitch!vmsextmpsendnetbufferlists

FAILURE_ID_HASH:  {db6e6826-fd05-182d-4af8-bc2534e406ad}

Followup: MachineOwner



Infinite loop asking for reboot when installing integration service

$
0
0

Hi All,

I use DISK2VHD to clone a windows xp sp3 to VHD and put it in a 2012 R2 hyper-v server to run.

When I try to install the integration service, it prompt me reboot to update the HAL.

But after it reboot, the same message shown and ask me reboot again, and it is just looping.

Does anyone has the same experience and how to fix it?

Thanks,

Hyper-v guest MAC are not seen external to the host, causing a problem with router/modem

$
0
0

I have Hyper-v 2012R2 with several guests. When I do an ARP on a physical PC on the same LAN/subnet as the host and guests, the IP of the guests is associated with the MAC of the host.  It's like a MAC NAT, but the IP is not NATed (stupid, but there may be a good reason).  The IP can be seen on the LAN outside of the HOST, but their MACs are the same as the host's outside of the host.  No big deal except I have an ATT router/modem device (not a good one) that only allows me to created port forwarding rules using LAN PCs that it recognizes on the network.  Even though the device can dish an IP to a guest via DHCP, it doesn't recognize it as a node on the LAN because it doesn't have it's own unique MAC (stupid, and I don't care what the reason is, if there is any).  There is no option to port forward using a manually entered IP.  Anyone seen Abbot and Costello?  That reference might be lost on a few of you.  I have some understanding and experience with networking, and that just seems plain weird to me.  All I want to do at this point is port forward to some guests. 

Is hyper-v broken?  What  kind of "switch" doesn't send along the MAC... Is there a way to change this behavior so that the guests unique MAC gets outside the host?  Should I throw the  modem thingy in the trash or just straight out the window into the street where a car or bus can make art of it...

Hyper-V Planning: SLAT Concerns

$
0
0

I am currently planning on testing Windows Server's Hyper-V on my server.  My server comes a CPU that does not include SLAT support.  I read on the Internet that Hyper-V on CPUs without SLAT will suffer from graphical performance degradation.  However, I have a few questions in mind, and would hope to receive assistance here.

  1. Is the problem severe, first of all?
  2. Articles on the Internet seem to focus on graphical performance on the host, will the guest (i.e. the virtual machine) also suffer from graphical issues?
  3. If I do not perform graphical intensive work on the host, will the problem still exist?
  4. If I test the server in a headless mode, using it as a File Server + Hyper-V Server, will the problem still exist?

Thanks a lot^^

P.S. I am aware that there are work arounds, including but not limited to using the VGA driver, but I would like do that only under the worst possible scenario

Blue stop on a VM running Windows 2003 R2

$
0
0

We have a FTP server running on Windows 2000. We try to upgrade this FTP server to Windows 2008. We have converted the Windows 2000 server from a physical server to a VM on Windows 2008 R2 hyper-v successfully. After we upgraded windows 2000 VM  to Windows 2003 R2, we get blue stop 0000007B when booting. I have searched for the resolution. Most suggests are related to change the hardware. Any ideas how we fix this issue on a VM?


Bob Lin, MCSE & CNE Networking, Internet, Routing, VPN Networking, Internet, Routing, VPN Troubleshooting on http://www.ChicagoTech.net How to Install and Configure Windows, VMware, Virtualization and Cisco on http://www.HowToNetworking.com

Merge VHDX on Windows Server 2012 R2 Error 0x80070299

$
0
0
Hellofriends,I am writingstopknowifanyoneknowsaboutwhatishappeninginwithadifferentialVHDX.
Theenvironmentis asfollows:
WindowsServer2012R2Hyper-Vclustering
CVSFS1.66TBvolumeavailable
I'mtrying todoamergeof2discs,onedifferentialtowardsitsparentusingthecommandMerge-VHD,butIgeterror:
Therequestedoperationcouldnotbecompletedduetoafilesystemlimitation(0x80070299).
Thevhdxdifferenceis344GBandtheParentis722GB.
Thanksinadvanceforthehelp

Isaias

Executing SCVMM PowerShell scripts via C# conditionally works depending on application type

$
0
0

Re-posting to a different forum since I believe I was in the wrong location before.

The environment is SCVMM 2012 R2. I have a series of PowerShell scripts that are executed via C# code from a variety of applications -- MVC, WCF, console, unit tests. It seems that successful connection to the VMM server is dependent on the type of application being used. For example, console apps and WCF apps can connect successfully but the same code running in a unit test or standard MVC app throw the following exception:

  

{You cannot access VMM management server SC-01. (Error ID: 1604)

Contact the Virtual Machine Manager administrator to verify that your account is a member of a valid user role and then try the operation again.}
    CategoryInfo: {ReadError: (:) [Get-SCVirtualMachine], CarmineException}
    ErrorDetails: {You cannot access VMM management server SC-01. (Error ID: 1604)

Contact the Virtual Machine Manager administrator to verify that your account is a member of a valid user role and then try the operation again.}
    Exception: {"You cannot access VMM management server SC-01.\r\nContact the Virtual Machine Manager administrator to verify that your account is a member of a valid user role and then try the operation again."}
    FullyQualifiedErrorId: "1604,Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.GetVMCmdlet"
    InvocationInfo: Command = {Get-SCVirtualMachine}
    PipelineIterationInfo: Count = 0
    ScriptStackTrace: "at <ScriptBlock>, <No file>: line 1"
    TargetObject: null

I suspect that somehow, each app is running under different credentials but I cannot see how that is possible. Each app exhibits the stated behavior whether running within Visual Studio (w/ IIS Express) [running under my own account] or published to the server running under a specific specified account that definitely has permissions to the VMM environment.

This behavior is easily reproducible with the following code

-- PS Script as embedded resource

Get-SCVirtualMachine -VMMServer "SC-01"

-- C# code to load and execute script

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management.Automation;

namespace LabManagement {

	public class HyperVVirtualMachineManager {

		public IEnumerable<Models.VirtualMachine> GetVirtualMachines() {
			var vms = new List<Models.VirtualMachine>();

			try {
				using (var rs = System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace()) {
					rs.Open();

					using (var ps = PowerShell.Create()) {
						ps.Runspace = rs;

						var assembly = System.Reflection.Assembly.GetExecutingAssembly();
						var scriptName = "LabManagement.Scripts.GetAllVirtualMachines.ps1";

						using (var s = assembly.GetManifestResourceStream(scriptName)) {
							using (var reader = new System.IO.StreamReader(s)) {
								var script = reader.ReadToEnd();

								ps.AddScript(script);
							}
						}

						var output = ps.Invoke();

						if (ps.Streams.Error.Count > 0) {
							foreach (var item in ps.Streams.Error) {
								// do something
							}
						}

						if (output.Count > 0) {
							foreach (var o in output) {
								// do something
							}
						}

					}

					rs.Close();
				}
			}
			catch (RuntimeException ex) {
				// do something
			}

			return vms;
		}

	}

}

-- Console app (Success)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace VirtualLabManagement.ConsoleTests {

	class Program {

		static void Main(string[] args) {
			// Arrange
			var svc = new LabManagement.HyperVVirtualMachineManager();

			// Act
			var hosts = svc.GetVirtualMachines();

			// Assert
		}

	}

}

-- Unit Test (Fails)

		[TestMethod]
		public void TestMethod1() {
			// Arrange
			var svc = new LabManagement.HyperVVirtualMachineManager();

			// Act
			var hosts = svc.GetVirtualMachines();

			// Assert
			Assert.IsNull(hosts);
		}

As you can see, the code is exactly the same between the different executions but the ability to connect differs.


SQL Server 2012 Dynamic Memory

$
0
0
Does anyone know if Dynamic memory can be used for SQL 2012 on a Hyper-V 2012 VM?

There seems to be conflicting views of this, some say only static memory can be used or performance would be affected?

Migration of VMs from Server 2012 Hyper-V Hosts Cluster to Server 2012 R2 Hyper-V Hosts Cluster

$
0
0

Hello All,

We’re currently running our production VMs on a Failover Cluster of Windows Server 2012 Hyper-V Hosts. We’re planning to migrate these VMs to the cluster of Windows Server 2012 R2 Hyper-V Hosts.

I have created a failover cluster of Windows Server 2012 R2 Hyper-V Hosts, and successfully tested the HA of my new test VMs on this new cluster.

Anyone please tell me the procedure, steps and best practices to migrate these VMs from Windows Server 2012 Hyper-V Hosts to Windows Server 2012 R2 Hyper-V Hosts.

Thank you.


Regards,

Hasan Bin Hasib

Virtual Machine server on HyperV disconnects from the network

$
0
0

I have an issue with one of the virtual machine on my HyperV Server. One Virtual server disconnects from the server time to time. I tried pinging to the server from an external machine which is in my LAN and getting error "Request Timed Out" .

I also tried pinging from another Virtual Server which is in the same node and ping request was successful without any issues.

As the server having the problem is a database server most of the time when the user works on the application it gets disconnects.

A prompt reply will be highly appreciated.

Hyper V Manager doesn't show all nodes

$
0
0
I have 5 nodes in HyperV... Say HV01,02,03,04,05 which shows correctly in Fail over Cluster Manager. But it doesn't show up in HyperV Manager. 

The HyperV Manager just shows 3 Nodes, say 01,02,03. What could be the possible issue?

A reply will be highly appreciated....

Problems with Hyper-V machine management

$
0
0

Hello i am having a problem with my server 2008 hyper-v server. I have 2 virtual server on the hyperv, one is SBS2008 virtual server and the other is terminal server. ive had power failure a couple of days ago and from then i cant set anything on my VMs...My VMs actually work when i restart the host server but then i cant do anything accept turning off the machine. The host server is in a domain of the sbs2008.

When i click settings on the machine i just get an error:

Cannot access the settings for the selected virtual machine.

Content
The computer 'localhost' failed to perform the requested operation.

I checked event viewer and i got this error:

Event ID: 14050

Source: Hyper-V-VMMS

Failed to register service principal name.

I tried restarting the host server it didnt helped. For my TS server i created a new VM and on that vm everything works normal, but i cant delete the old VM because i got the same error as mentioned above. Did somebody had the same problem?


Viewing all 8743 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>